/go-substrate-rpc-client

Substrate RPC client for go aka GSRPC

Primary LanguageGoApache License 2.0Apache-2.0

Go Substrate RPC Client (GSRPC)

License: Apache v2.0 GoDoc Reference Go Report Card

Substrate RPC client in Go. It provides APIs and types around Polkadot and any Substrate-based chain RPC calls. This client is modelled after polkadot-js/api.

State

This package is feature complete, but it is relatively new and might still contain bugs. We advice 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/ComposableFi/go-substrate-rpc-client

Contributing

  1. Install dependencies by running make
  2. Build the project with go build
  3. Lint make lint (you can use make lint-fix to automatically fix issues)
  4. 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.

  1. make test-dockerized Run tests within a docker container of its own against the Substrate docker container.

  2. 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 enviromment 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.

  1. Install mockery
  2. Run go generate ./...