Go Substrate RPC Client (GSRPC)
Substrate RPC client in Go. It provides APIs and types around Polkadot and any Substrate-based chain RPC calls. This client is modeled after polkadot-js/api.
State
This package is feature complete, but it is relatively new and might still contain bugs. We advise to use it with caution in production. It comes without any warranties, please refer to LICENCE for details.
Documentation & Usage Examples
Please refer to https://godoc.org/github.com/centrifuge/go-substrate-rpc-client
Usage test examples of Dynamic Parsing of events & extrinsics
Contributing
- Install dependencies by running
make
- Build the project with
go build
- Lint
make lint
(you can usemake lint-fix
to automatically fix issues) - Run
make run-substrate-docker
to run the Substrate docker container
Testing
We run our tests against a Substrate Docker image. You can choose to run the tests within a tests-dedicated Docker container or without a container.
-
make test-dockerized
Run tests within a docker container of its own against the Substrate docker container. -
make test
Run the tests locally against the Substrate docker container. Note that it expects the Substrate docker container to be up and running to execute the whole test suite properly.
Visit https://polkadot.js.org/apps for inspection
Note: To use a custom Substrate endpoint, first set the environment variable before running the tests:
export RPC_URL="http://example.com:9934"
Adding support for new RPC methods
After adding support for new methods, update the RPC mocks.
- Install mockery
- Run
go generate ./...