fork1-polymathnetwork-polymesh-sdk
v12.0.0
Published
High-level API to interact with the Polymesh blockchain
Downloads
1
Readme
@polymathnetwork/polymesh-sdk
Polymesh version
This release is compatible with Polymesh v4.0.0
Getting Started
Purpose
The Polymesh SDK's main goal is to provide external developers with a set of tools that will allow them to build powerful applications that interact with the Polymesh protocol. It focuses on abstracting away all the complexities of the Polymesh blockchain and expose a simple but complete interface. The result is a feature-rich, user-friendly node.js library.
Before moving on
This document assumes you are already familiar with Security Tokens in general and Polymath as well as Polymesh in particular.
Technical Pre-requisites
In order to use the Polymath SDK, you must install node (version 10) and npm. The library is written in typescript, but can also be used in plain javascript. This document will assume you are using typescript, but the translation to javascript is very simple.
Documentation
Token Studio SDK Walkthrough:
https://developers.polymath.network/token-studio-api-walkthrough/
Polymesh SDK API Reference:
https://developers.polymath.network/polymesh-sdk-api-reference/
How to use
Installation
npm i @polymathnetwork/polymesh-sdk --save
Or, if you're using yarn
yarn add @polymathnetwork/polymesh-sdk
Initializing the client
Before you can start registering Tickers and creating Security Tokens, you have to connect the Polymesh SDK client to a Polymesh node. This is a pretty straightforward process:
import { Polymesh } from '@polymathnetwork/polymesh-sdk';
async function run() {
const polyClient = await Polymesh.connect({
nodeUrl: 'wss://some-node-url.com',
accountSeed: 'YOUWISH',
});
// do stuff with the client
}
Here is an overview of the parameters passed to the connect
function:
nodeUrl
is a URL that points to a running Polymesh nodeaccountSeed
is the seed (akin to a private key) of the account that will be performing transactions
NOTE: if using the SDK on a browser environment (i.e. with the Polymesh wallet browser extension), there is no need to provide the account seed. Instead, you pass a Keyring object that contains the address, and a signer for that address (which you would typically get from the wallet extension)
import { Polymesh, Keyring } from '@polymathnetwork/polymesh-sdk';
async function run() {
const keyring = new Keyring();
keyring.addFromAddress(accountAddress);
const signer = getSignerFromExtension(); // this is not an existing function, how you get this depends on the extension
const polyClient = await Polymesh.connect({
nodeUrl: 'wss://some-node-url.com',
keyring,
signer,
});
// do stuff with the client
}