UNPKG

openchain-sdk-yxl-wx-request

Version:

openchain sd YxL wx request

161 lines (132 loc) 3.77 kB
# OpenChain Node.js SDK 使用手册 ## 目录 - [简介](#简介) - [安装与配置](#安装与配置) - [核心功能](#核心功能) - [账户管理](#账户管理) - [合约操作](#合约操作) - [资产管理](#资产管理) - [CTP10代币](#CTP10代币) - [错误处理](#错误处理) - [示例代码](#示例代码) - [API参考](#API参考) ## 简介 OpenChain Node.js SDK 是一个用于与OpenChain区块链网络交互的JavaScript开发工具包。它提供了丰富的API接口,使开发者能够方便地进行账户管理、智能合约部署与调用、资产管理等区块链相关操作。 ## 安装与配置 ### 安装 ```bash npm install openchain-sdk-yxl-request --save ``` ### 基本配置 ```javascript const SDK = require('openchain-sdk-yxl-request'); // 初始化SDK配置 const sdk = new SDK({ host: 'http://your-openchain-node:36002', // OpenChain节点地址 }); ``` ## 核心功能 ### 账户管理 账户管理模块提供了创建账户、查询账户信息、设置权限等功能。 ```javascript // 创建账户 const account = sdk.account.create(); // 查询账户信息 const accountInfo = await sdk.account.getInfo(address); // 设置账户权限 const result = await sdk.account.setPrivilege({ sourceAddress: address, masterWeight: 1, signers: [], threshold: 1 }); ``` ### 合约操作 支持智能合约的创建、调用和查询等操作。 ```javascript // 创建合约 const contract = await sdk.contract.create({ sourceAddress: address, code: contractCode, initBalance: '0', metadata: 'contract metadata' }); // 调用合约 const invokeResult = await sdk.contract.invokeByOP({ sourceAddress: address, contractAddress: contractAddress, opAmount: 0, input: 'input params' }); ``` ### 资产管理 提供资产的发行、转移等功能。 ```javascript // 发行资产 const issueResult = await sdk.token.asset.issue({ sourceAddress: address, code: 'CNY', amount: '10000' }); // 转移资产 const sendResult = await sdk.token.asset.send({ sourceAddress: address, destAddress: toAddress, code: 'CNY', amount: '100' }); ``` ### CTP10代币 支持符合CTP10标准的代币操作。 ```javascript // 发行CTP10代币 const tokenResult = await sdk.token.ctp10Token.issue({ sourceAddress: address, name: 'MyToken', symbol: 'MT', decimals: 8, totalSupply: '1000000' }); // 转移代币 const transferResult = await sdk.token.ctp10Token.transfer({ sourceAddress: address, destAddress: toAddress, tokenOwner: tokenOwner, amount: '100' }); ``` ## 错误处理 SDK使用标准的错误处理机制,建议使用try-catch进行错误捕获。 ```javascript try { const result = await sdk.account.getInfo(address); } catch (error) { console.error('错误类型:', error.name); console.error('错误信息:', error.message); } ``` ## 示例代码 完整的示例代码可以参考SDK的测试用例: - 账户操作: test/account.test.js - 合约操作: test/contract.test.js - 资产管理: test/asset.test.js - CTP10代币: test/Ctp10Token.test.js ## API参考 ### 主要模块 - account: 账户管理模块 - contract: 智能合约模块 - token: 资产和代币管理模块 - blockchain: 区块链信息查询模块 ### 工具类 - util: 提供常用的工具函数 - crypto: 加密相关功能 ### 错误类型 - customErrors: 自定义错误类型 - errors: 标准错误定义 ## 注意事项 1. 在生产环境中使用时,请确保节点地址使用HTTPS协议 2. 私钥信息需要安全保管,避免泄露 3. 建议在进行重要操作时启用多重签名机制 4. 代币转移等操作前要仔细核对地址信息 ## 许可证 ISC License