@xuperchain/xuper-sdk
v2.4.0
Published
A simple JS(TS) SDK for XuperOS
Downloads
8
Readme
Xuper SDK JS
Xuper SDK (JS/TS) is a software development kit that allows developers to quickly use XuperChain.
The SDK provides a service interface that includes account, transaction, contract and various query functions. It can be used in a browser and Nodejs environment.
English | 简体中文
Usage
Install Npm package
npm install --save @xuperchain/xuper-sdk
Quick start
import XuperSDK from '@xuperchain/xuper-sdk';
const node = ''; // node
const chain = ''; // chain
const xsdk = XuperSDK.getInstance({
node,
chain
});
const start = async () => {
const result = await xsdk.getBlockChains();
console.log(result);
};
start();
Code examples
Environments
- Browser depends on window.crypto
- Nodejs >= v10.0
In the Nodejs environment, gRPC is supported and used by default, you can choose to close it, and still use Http to request
XuperSDK.getInstance({
...,
env: {
node: {
disableGRPC: true // disable gRPC
}
}
})
How to build a test environment
Read the documentation , compile and deploy XuperChain
Use XuperChain Docker image to build a single-node service
- Pull image (XuperChian v3.7 - Repository)
docker pull smilingxinyi/xuperchain
- Start container
docker run -d -p 8098:8098 -p 37101:37101 -p 47101:47101 --name xc smilingxinyi/xuperchain
API reference documentation
Services
Account
service|name|link|state ---|---|---|:---: Create account|create|LINK|√ Retrieve account|retrieve|LINK|√ Import private key|import|LINK|√ Export private key|export|LINK|√ Chekc address|checkAddress|LINK|√ Check mnemonic|checkMnemonic|LINK|√ Balance|getBalance|LINK|√ Balance Detail|getBalanceDetail|LINK|√
Blockchain infomation
service|name|link|state ---|---|---|:---: Blockchains|getBlockChains|LINK|√ Status|checkStatus|LINK|√ Block by id|getBlockById|LINK|√ Block by height|getBlockByHeight|LINK|√
Transaction
service|name|link|state ---|---|---|:---: Make transfer|transfer|LINK|√ Post tx|postTransaction|LINK|√ Query tx|queryTransaction|LINK|√
Contract
service|name|link|state ---|---|---|:---: New contract account|createContractAccount|LINK|√ Contract list|getContracts|LINK|√ Deploy Wasm contract|deployWasmContract|LINK|√ Invoke Wasm contarct|invokeContarct|LINK|√ Deploy Solidity contract|deploySolidityContract|LINK|√ Invoke Solidity contarct|invokeSolidityContarct|LINK|√ Deploy Native contract|deployNativeContract|LINK|√ Invoke Native contarct|invokeContarct|LINK|√ Query ACL|queryACL|LINK|√ Query stat data about contract|queryContractStatData|LINK|√
Plugin
Endorsement service plugin
The plugin must be used on the
public network
EndorsementPlugin
Example:
const params = {
server: process.env.ENDORSE_SERVER, // ip, port
fee: process.env.FEE, // fee
endorseServiceCheckAddr: process.env.SERVICE_SIGN_ADDRESS, // sign address
endorseServiceFeeAddr: process.env.SERVICE_FEE_ADDRESS // fee address
}
const xsdk = new XuperSDK({
node,
chain,
plugins: [
EndorsementPlugin({
transfer: params,
makeTransaction: params
})
]
});