/api-1

Promise and RxJS APIs around Polkadot and any Substrate-based chain RPC calls. It is dynamically generated based on what the Substrate runtime provides in terms of metadata. Full documentation & examples available

Primary LanguageTypeScriptApache License 2.0Apache-2.0

polkadotjs license npm beta maintainability coverage

@polkadot/api

This library provides a clean wrapper around all the methods exposed by a Polkadot/Substrate network client and defines all the types exposed by a node. For complete documentation around the classes, interfaces and their use, visit the documentation portal.

If you are an existing user, please be sure to track the CHANGELOG and UPGRADING guides when changing versions.

tutorials

Looking for tutorials to get started? Look at examples for guides on how to use the API to make queries and submit transactions.

overview

The API is split up into a number of internal packages -

  • @polkadot/api The API library, providing both Promise and RxJS Observable-based interfaces. This is the main user-facing entry point.
  • @polkadot/api-derive Derived results that are injected into the API, allowing for combinations of various query results (only used internally and exposed on the Api instances via api.derive.*)
  • @polkadot/api-metadata Base extrinsic, storage and constant injectors for injection
  • @polkadot/rpc-core Wrapper around all JSON-RPC methods exposed by a Polkadot network client
  • @polkadot/rpc-provider Providers for connecting to nodes, including WebSockets and Http

Type definitions for interfaces as exposed by Polkadot & Substrate clients -

development

Contributions are welcome!

To start off, this repo (along with others in the @polkadot family) uses yarn workspaces to organise the code. As such, after cloning, its dependencies should be installed via yarn, not via npm; the latter will result in broken dependencies.

To get started -

  1. Clone the repo locally, via git clone https://github.com/polkadot-js/api <optional local path>
  2. Ensure that you have a recent version of Node.js, for development purposes Node 10 is recommended.
  3. Ensure that you have a recent version of Yarn, for development purposes Yarn >=1.10.1 is required.
  4. Install the dependencies by running yarn
  5. Build the everything via yarn run build
  6. You can also launch the API Docs, via yarn vuepress dev docs
  7. Access the docs via http://localhost:8080