A clear and comprehensive versioning strategy is the only way to maintain any sense of order in a standards-based project. The canonical version used to describe the Rosetta APIs comes from the specifications repository releases. This documentation website uses the same version number as the specifications it is describing.
We expect implementations of Rosetta APIs to use independent versioning but to explicitly state which Rosetta API version(s) they maintain compatibility for. In the same manner, we expect SDKs to also use independent versioning but to explicitly state which Rosetta API version(s) they maintain compatibility for. Check out rosetta-sdk-go for an example of how we built a codegen toolchain for Golang.
If you choose to implement the Rosetta APIs in a language that does not yet have a supported SDK, we recommend creating a separate project for generating code from the specifications instead of embedding code generation into your implementation. This will make managing specification updates and versioning much easier.
Updated 2 months ago