Client SDK for the Orbs blockchain in JavaScript and TypeScript for Node.js and browsers
This page describes SDK API v2.0.0
, for upgrade from v1.x
please follow the instructions.
-
Install the NPM package:
npm install orbs-client-sdk
-
Import the client in your project
const Orbs = require("orbs-client-sdk");
-
Install via NPM package:
npm install orbs-client-sdk
-
Import the client in your project
import { createAccount, Client } from 'orbs-client-sdk'
-
Create a few end user accounts:
const Orbs = require("orbs-client-sdk"); const sender = Orbs.createAccount(); const receiver = Orbs.createAccount();
-
Create a client instance:
const virtualChainId = 42; const client = new Orbs.Client("http://node-endpoint.com", virtualChainId, "TEST_NET", new Orbs.LocalSigner(sender));
-
Send a transaction:
const [tx, txId] = await client.createTransaction( "BenchmarkToken", "transfer", [Orbs.argUint64(10), Orbs.argAddress(receiver.address)]); const response = await client.sendTransaction(tx);
-
Check the transaction status:
const response = await client.getTransactionStatus(txId);
-
Deploy a smart contract:
// Load the content of the contract file(s) that we want to deploy // NOTE : These two file are part of the same contract. const sources = [ readFileSync(`${__dirname}/../contract/increment_base.go`), readFileSync(`${__dirname}/../contract/increment_functions.go`) ]; // Build The deployment query // Notice that in this case the contract's name will be "Inc" const [deploymentTx, deploymentTxId] = await client.createDeployTransaction("Inc", Orbs.PROCESSOR_TYPE_NATIVE, ...sources); // Execute the deployment query const deploymentResponse = await client.sendTransaction(deploymentTx);
-
Call a smart contract method:
const query = await client.createQuery("BenchmarkToken", "getBalance", [Orbs.argAddress(receiver.address)]); const response = await client.sendQuery(query);
-
After running
npm install
locally, make sure folder./contract
is created. It's needed for the contract test and cloned from the reference implementation. The codec contract test encodes and signs all message types and compares to a JSON file containing the official result required to be compatible to the Orbs protocol specifications. -
Build the library with
npm run build
-
To run the end-to-end test, install
gamma-cli
-
Run all tests (unit and e2e) with
npm run test