Skip to content

Latest commit

 

History

History
156 lines (112 loc) · 5.89 KB

README_zh-CN.md

File metadata and controls

156 lines (112 loc) · 5.89 KB

Xuper SDK (JS/TS)

Build Status npm version

Xuper SDK (JS/TS) 是一个在可以让开发者快速使用 XuperChain 的软件开发工具包。

该SDK提供包含账号、交易、合约与各类查询功能的服务接口,可以在浏览器与 Nodejs 环境下使用。


English | 简体中文

使用方式

安装Npm依赖包

npm install --save @xuperchain/xuper-sdk

快速开始

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();

具体API查看详情

使用示例代码

Edit xuper-sdk-demo

支持环境

  • Browser 依赖 window.crypto
  • Nodejs >= v10.0
在Nodejs环境中支持并默认使用gRPC,可以选择关闭,依然使用Http方式请求
XuperSDK.getInstance({
    ...,
    env: {
        node: {
            disableGRPC: true // 禁用gRPC
        }
    }
})

如何搭建一个测试环境

阅读 文档 编译并部署XuperChain

通过Docker搭建一个搭建单节点服务

  1. 拉取镜像 (XuperChian v3.7 - Repository)

docker pull smilingxinyi/xuperchain

  1. 启动容器

docker run -d -p 8098:8098 -p 37101:37101 -p 47101:47101 --name xc smilingxinyi/xuperchain

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 // 两个一样
        })
    ]
});