Continuously validate correctness
A Rosetta Data API implementation is considered "complete" when anyone can run the rosetta-cli
tool against your Data API implementation without error (to the current block height). If running the command doesn't halt with an error (correctness checks are documented here), it is considered to be "complete".
Developers assume your implementation passes the checks previously mentioned and will likely not be able to integrate with your implementation if it errors.
Update Expectations
After you initially validate the correctness of your implementation, the specification will update, your implementation will change, and more correctness checks could be added to the rosetta-cli
tool.
Specification Updates
If the rosetta-specifications are updated, there is an expectation that your Rosetta Data API implementation should be updated within some reasonable time to work with the updates. As mentioned in versioning, the 1.x
release is considered the first stable release and your implementation will not break from any updates, but new features could be added.
Implementation Updates
If you implement changes to core node software that break your Rosetta API implementation, you should fix your Rosetta API implementation as soon as possible. Many developers will use your Rosetta Data API implementation exclusively and poor update support will cause users of the blockchain you are working on to encounter downtime.
CLI Updates
The rosetta-cli codebase may be updated with additional correctness checks based on new behavior restrictions proposed by the community. You should fix your Rosetta API implementation as soon as possible to address any failing checks.