@cennznet/api
v2.1.1-alpha.4
Published
CENNZnet's javascript api
Downloads
177
Readme
CENNZnet Api
The CENNZnet JavaScript API for browsers, RN, and Node.js.
Install
yarn add @cennznet/api
Usage
Connect to a node websocket (local):
const api = await Api.create(); // defaults to 'ws://localhost:9944'
Connect to a custom endpoint e.g Nikau 🌴 testnet
// initialize Api and connect to dev network
const {Api} = require('@cennznet/api')
api = await Api.create({
provider: 'wss://nikau.centrality.me/public/ws'
});
// For Rxjs
const {ApiRx} = require('@cennznet/api')
api = await ApiRx.create({
provider: 'wss://nikau.centrality.me/public/ws'
}).toPromise();
CennznetExtrinsic
All api.tx.<section>.<method>(...)
return CennznetExtrinsic type.
To set fee exchange options on a transaction, it should be included as an additional argument when signing e.g
const tx = api.tx.genericAsset.transfer(16000, 'some address', 1000000);
tx.signAndSend('sender address', {feeExchangeOpt}, callbackFn);
Dynamic
After connecting to a CENNZnet node, api will dynamically create queries and transaction methods.
api.rpc.<section>.<method>
provides access to actual RPC calls, be it for queries, submission or retrieving chain informationapi.query.<section>.<method>
provides access to chain state queries. These are dynamically populated based on what the runtime providesapi.derive.<section>.<method>
provides access to built-in complex state queries which are combination of several basic state queries.api.tx.<section>.<method>
provides the ability to create a transaction, like chain state, this list is populated from a runtime query
TypeScript Config
Add the following configuration to make TS aware of our custom types
{
"compilerOptions": {
"paths": {
"@polkadot/types": [
"./node_modules/@cennznet/types/interfaces/augment-api.d.ts"
],
"@polkadot/types/augment": [
"./node_modules/@cennznet/types/interfaces/augment-types.d.ts"
]
}
}
}
See the wiki for more or try the api examples. Please check upgrade guide for 2.1.x versions, connects to node cennznet/cennznet:2.1.0