orbs-client-sdk
v2.5.0
Published
orbs-client-sdk
Downloads
93
Maintainers
Keywords
Readme
Orbs Client SDK JavaScript
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.
Installation
Node.js
Install the NPM package:
npm install orbs-client-sdk
Import the client in your project
const Orbs = require("orbs-client-sdk");
Browser
Install via NPM package:
npm install orbs-client-sdk
Import the client in your project
import { createAccount, Client } from 'orbs-client-sdk'
Usage
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);
Test
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