Rosetta SDK
Go SDK to create and interact with Rosetta API implementations
Overview
The rosetta-sdk-go
provides a collection of packages used for interaction
with the Rosetta API specification. Much of the code in this repository is
generated from the rosetta-specifications.
Documentation
Before diving into the SDK, we recommend taking a look at the Rosetta API Docs:
Packages
- Types: Auto-generated Rosetta types
- Client: Low-level communication with any Rosetta server
- Server: Simplified Rosetta API server development
- Asserter: Validation of Rosetta types
- Fetcher: Simplified and validated communication with
any Rosetta server
- Parser: Tool for parsing Rosetta blocks
- Syncer: Sync Rosetta blocks with customizable handling
- Reconciler: Compare derived balances with node balances
- Keys: Cryptographic operations for Rosetta-supported curves
- Constructor: Coordinate the construction and broadcast of transactions
Examples
The packages listed above are demoed extensively in
examples and are utilized throughout the
rosetta-cli.
Development
make deps
to install dependencies
make gen
to generate types and helpers
make test
to run tests
make lint
to lint the source code (including generated code)
make release
to check if code passes all tests run by CircleCI
License
This project is available open source under the terms of the Apache 2.0 License.
© 2020 Coinbase