Node.js SDK文档
这里将向您介绍Go SDK,并通过简单的示例帮助您快速熟悉Go SDK的使用方法,并构建自己的应用。项目地址:xuper-sdk-js
模块介绍
Xuper SDK (JS/TS) 是一个在可以让开发者快速使用 XuperChain 的软件开发工具包。该SDK提供包含账号、交易、合约与各类查询功能的服务接口,可以在浏览器与 Nodejs 环境下使用。
使用方式
安装Npm依赖包
快速开始
import XuperSDK from '@xuperchain/xuper-sdk';
const node = ''; // 节点
const chain = ''; // 链
const xsdk = XuperSDK.getInstance({
node,
chain
});
const start = async () => {
const result = await xsdk.getBlockChains();
console.log(result);
};
start();
支持环境
- Browser 依赖 window.crypto
- Nodejs >= v10.0```
在Nodejs环境中支持并默认使用gRPC,可以选择关闭,依然使用Http方式请求
API参考文档
实现列表
区块链账号
| 接口 | 函数名 | 文档链接 | 状态 |
|---|---|---|---|
| 创建区块链账号 | create | LINK | √ |
| 助记词恢复账号 | retrieve | LINK | √ |
| 导入私钥 | import | LINK | √ |
| 导出私钥 | export | LINK | √ |
| 检查地址 | checkAddress | LINK | √ |
| 检查助记词 | checkMnemonic | LINK | √ |
| 获取余额 | balance | LINK | √ |
| 获取余额详情 | getBalanceDetail | LINK | √ |
链信息
| 接口 | 函数名 | 文档链接 | 状态 |
|---|---|---|---|
| 获取链 | getBlockChains | LINK | √ |
| 查看当前链状态 | checkStatus | LINK | √ |
| 通过交易ID获取块信息 | getBlockById | LINK | √ |
| 通过高度获取块信息 | getBlockByHeight | LINK | √ |
交易
| 接口 | 函数名 | 文档链接 | 状态 |
|---|---|---|---|
| 转账 | transfer | LINK | √ |
| 发送交易 | postTransaction | LINK | √ |
| 查询交易 | queryTransaction | LINK | √ |
智能合约
| 接口 | 函数名 | 文档链接 | 状态 |
|---|---|---|---|
| 创建合约账户 | createContractAccount | LINK | √ |
| 获取合约 | getContracts | LINK | √ |
| 部署 Wasm 合约 | deployWasmContract | LINK | √ |
| 调用 Wasm 合约 | invokeContarct | LINK | √ |
| 部署 Solidity 合约 | deploySolidityContract | LINK | √ |
| 调用 Solidity 合约 | invokeSolidityContarct | LINK | √ |
| 部署 Native 合约 | deployNativeContract | LINK | √ |
| 调用 Native 合约 | invokeContarct | LINK | √ |
| 查询访问控制列表 | queryACL | LINK | √ |
| 查询合约状态 | queryContractStatData | LINK | √ |
插件与使用
背书服务插件
公开网络必须使用该插件
EndorsementPlugin
Example:
const params = {
server: process.env.ENDORSE_SERVER, // 服务
fee: process.env.FEE, // 服务费
endorseServiceCheckAddr: process.env.SERVICE_SIGN_ADDRESS, // 背书签名地址
endorseServiceFeeAddr: process.env.SERVICE_FEE_ADDRESS // 背书服务费地址
}
const xsdk = new XuperSDK({
node,
chain,
plugins: [
EndorsementPlugin({
transfer: params,
makeTransaction: params // 两个一样
})
]
});