[TSP] Trust Spanning Protocol SDK v0.8.1 Testing Summary
This is a brief summary of my experience testing version 0.8.1 of the TSP SDK. While I don’t feel qualified to assess the overall quality of the SDK, I truly appreciate the developers who build it. The project helped me understand what an SDK should look like and how developers can use it.
In the SDK, one of my favorite patterns is the modify_vid
function, which efficiently reduces repetitive work and demonstrates interesting design.
I also appreciated the demonstration provided by the TSP CLI. It clearly shows how to use the API, which made it easier for me to learn. For example, through the CLI, I studied the concepts of SecureStore
and AskarSecureStorage
. These felt like a helpful review of I/O development concepts, and I am grateful for the opportunity to revisit them.
pub(crate) fn modify_vid<T>( &self, vid: &str, change: impl FnOnce(&mut VidContext) -> Result<T, Error>, ) -> Result<T, Error> { let vid = self.try_resolve_alias(vid)?; match self.vids.write()?.get_mut(&vid) { Some(resolved) => change(resolved), None => Err(Error::UnverifiedVid(vid.to_string())), } }
Overall, I did not encounter any crazy bugs during the testing period. All related findings are listed in the section [Related Pull Request / Issues]. However, I did notice that the documentation could do a better job of bridging the gap between users and the SDK. For example, it does not clearly explain what TSP is for. Including a clear purpose or use case would help new users understand project's value more quickly.
Additionally, the section “routed mode” is mentioned but not explained in the documentation. This might need a new issue to address. I believe future improvements should focus on making the SDK easier for developers to integrate TSP into their projects, helping to close the gap between the tool and practical usage.
Related Pull Request / Issues
- https://github.com/openwallet-foundation-labs/tsp/issues/209
- https://github.com/openwallet-foundation-labs/tsp/pull/205
- https://github.com/openwallet-foundation-labs/tsp/pull/193
- https://github.com/openwallet-foundation-labs/tsp/issues/198
- https://github.com/openwallet-foundation-labs/tsp/issues/196