3. Nodejs SDK 使用说明
3.1. 基本概念定义
整体介绍
SDK
是业务模块与长安链交互的桥梁,支持双向TLS
认证,提供安全可靠的加密通信信道。
提供的接口,覆盖合约管理、链配置管理、证书管理、多签收集、各类查询操作、事件订阅、数据归档等场景,满足了不同的业务场景需要。
名词概念说明
Node
(节点):代表一个链节点的基本信息,包括:节点地址、连接数、是否启用TLS
认证等信息ChainClient
(链客户端):所有客户端对链节点的操作接口都来自ChainClient
压缩证书:可以为
ChainClient
开启证书压缩功能,开启后可以减小交易包大小,提升处理性能
3.2. 环境准备
3.2.1. 软件依赖
nodejs
nodejs 14.0.0+
下载地址:https://nodejs.org/dist/
若已安装,请通过命令查看版本:
$ node --version
v14.0.0
3.2.2. 下载安装
$ git clone -b v2.0.0 https://git.chainmaker.org.cn/chainmaker/sdk-nodejs.git
3.3. 怎么使用SDK
3.3.1. 示例代码
3.3.1.1. 创建节点
更多内容请参看:
sdkInit.js
// 创建节点
this.node = new Node(nodeConfigArray, timeout);
3.3.1.2. 参数形式创建ChainClient
更多内容请参看:
sdkInit.js
// 创建ChainClient
const ChainClient = new Sdk(chainID, orgID, userKeyPathFile, userCertPathFile, nodeConfigArray, 30000, archiveConfig);
3.3.1.3. 以配置文件形式创建ChainClient
更多内容请参看:
sdkinit.js
const ChainClient = new LoadFromYaml(path.join(__dirname, './sdk_config.yaml'));
3.3.1.4. 创建合约
更多内容请参看:
testUserContractMgr.js
const testCreateUserContract = async (sdk, contractName, contractVersion, contractFilePath) => {
const response = await sdk.userContractMgr.createUserContract({
contractName,
contractVersion,
contractFilePath,
runtimeType: utils.common.RuntimeType.GASM,
params: {
key1: 'value1',
key2: 'value2',
},
});
return response;
};
3.3.1.5. 调用合约
更多内容请参看:
testUserContractMgr.js
const testInvokeUserContract = async (sdk, contractName) => {
const response = await sdk.callUserContract.invokeUserContract({
contractName, method: 'save', params: {
file_hash: '1234567890',
file_name: 'test.txt',
},
});
return response;
};
3.3.2. 更多示例和用法
更多示例和用法,请参看单元测试用例
安装mocha:
$ npm install -g mocha
使用脚本搭建chainmaker运行环境(4组织4节点),将build文件中的cryptogen复制到当前项目的test/testFile文件中
运行测试命令:
$ npm test
功能 | 单测代码 |
---|---|
基础配置 | sdkInit.js |
用户合约 | userContract.js |
系统合约 | systemContract.js |
链配置 | chainConfig.js |
证书管理 | cert.js |
消息订阅 | subscribe.js |
3.4. 接口说明
3.4.1. 1 用户合约接口
3.4.1.1. 1.1 创建合约待签名payload生成
类名
userContractMgr
参数说明
类型:k-v Object对象
contractName: 合约名(string)
contractVersion: 版本号(string)
runtimeType: 合约运行环境(number)
contractFilePath: 合约二进制文件路径(string)
params: 合约初始化参数,(k-v Object对象)
createContractCreatePayload({ contractName, contractVersion, runtimeType, contractFilePath, params })
3.4.1.2. 1.2 升级合约待签名payload生成
类名
userContractMgr
参数说明
类型:k-v Object对象
contractName: 合约名(string)
contractVersion: 版本号(string)
runtimeType: 合约运行环境(number)
contractFilePath: 合约二进制文件路径(string)
params: 合约升级参数,(k-v Object对象)
createContractUpgradePayload({ contractName, contractVersion, runtimeType, contractFilePath, params })
3.4.1.3. 1.3 冻结合约payload生成
类名
userContractMgr
参数说明
类型:k-v Object对象
contractName: 合约名(string)
createContractFreezePayload({ contractName })
3.4.1.4. 1.4 解冻合约payload生成
类名
userContractMgr
参数说明
类型:k-v Object对象
contractName: 合约名(string)
createContractUnfreezePayload({ contractName })
3.4.1.5. 1.5 吊销合约payload生成
类名
userContractMgr
参数说明
类型:k-v Object对象
contractName: 合约名(string)
createContractRevokePayload({ contractName })
3.4.1.6. 1.6 合约管理获取Payload签名
类名
userContractMgr
参数说明
payload: 待签名payload
userInfoList: 需要签名的用户列表(array[class UserInfo])
signContractManagePayload(payload, userInfoList)
3.4.1.7. 1.7 合约管理Payload签名收集&合并
类名
userContractMgr
参数说明
signedPayloadBytesArray: 已签名payload列表(array[payloadBytes])
mergeContractManageSignedPayload(signedPayloadBytesArray)
3.4.1.8. 1.8 发送合约管理请求(创建、更新、冻结、解冻、吊销)
类名
userContractMgr
参数说明
mergedPayload: 多签结果
withSyncResult: 是否同步获取结果(boolean)
async sendContractManageRequest(mergedPayload, withSyncResult)
3.4.1.9. 1.9 合约调用
类名
callUserContract
参数说明
类型:k-v Object对象
contractName: 合约名称(string)
method: 合约方法(string)
params: 合约参数(k-v Object对象)
withSyncResult: 是否同步获取结果(boolean)
async invokeUserContract({ contractName, method, params, withSyncResult })
3.4.1.10. 1.10 合约查询接口调用
类名
callUserContract
参数说明
类型:k-v Object对象
contractName: 合约名称(string)
method: 合约方法(string)
params: 合约参数(k-v Object对象)
async queryContract({ contractName, method, params })
3.4.1.11. 1.11 构造待发送交易体
类名
callUserContract
参数说明
contractName: 合约名称(string)
method: 合约方法(string)
params: 合约参数(k-v Object对象)
getTxRequest(contractName, method, params)
3.4.1.12. 1.12 发送已构造好的交易体
类名
callUserContract
参数说明
request: 已构造好的交易体
txId: getTxRequest方法的返回值
withSyncResult: 是否同步获取结果(boolean)
async sendTxRequest(request, txId, withSyncResult)
3.4.2. 2 系统合约接口
3.4.2.1. 2.1 根据交易Id查询交易
类名
callSystemContract
参数说明
txId: 交易ID(string)
async getTxByTxId(txId)
3.4.2.2. 2.2 根据区块高度查询区块
类名
callSystemContract
参数说明
blockHeight: 区块高度,若为-1,将返回最新区块(number)
withRWSet: 是否返回读写集(boolean)
async getBlockByHeight(blockHeight, withRWSet)
3.4.2.3. 2.3 根据区块哈希查询区块
类名
callSystemContract
参数说明
blockHash: 区块哈希(string)
withRWSet: 是否返回读写集(boolean)
async getBlockByHash(blockHash, withRWSet)
3.4.2.4. 2.4 根据交易Id查询区块
类名
callSystemContract
参数说明
txId: 交易ID(string)
withRWSet: 是否返回读写集(boolean)
async getBlockByTxId(txId, withRWSet)
3.4.2.5. 2.5 查询最新的配置块
类名
callSystemContract
参数说明
withRWSet: 是否返回读写集(boolean)
async getLastConfigBlock(withRWSet)
3.4.2.6. 2.6 查询节点加入的链信息
类名
callSystemContract
参数说明
nodeAddr: 节点地址,如127.0.0.1(string)
async getNodeChainList(nodeAddr)
3.4.2.7. 2.7 查询链信息
类名
callSystemContract
参数说明
包括:当前链最新高度,链节点信息
async getChainInfo()
3.4.2.8. 2.8 根据交易Id获取区块高度
类名
callSystemContract
参数说明
txId: 交易ID(string)
async getBlockHeightByTxId(txId)
3.4.2.9. 2.9 根据区块Hash获取区块高度
类名
callSystemContract
参数说明
blockHash: 区块哈希(string)
async getBlockHeightByHash(blockHash)
3.4.2.10. 2.10 查询当前最新区块高度
类名
callSystemContract
参数说明
返回当前最新区块高度
async getCurrentBlockHeight()
3.4.2.11. 2.11 根据区块高度查询区块头
类名
callSystemContract
参数说明
blockHeight: 区块高度(number)
async getBlockHeaderByHeight(blockHeight)
3.4.2.12. 2.12 查询最新区块
类名
callSystemContract
参数说明
withRWSet: 是否返回读写集(boolean)
async getLastBlock(withRWSet)
3.4.2.13. 2.13 根据区块高度查询完整区块
类名
callSystemContract
参数说明
blockHeight: 区块高度(number)
async getFullBlockByHeight(blockHeight)
3.5. 3 链配置接口
3.5.1. 3.1 查询最新链配置
类名
chainConfig
async getChainConfig()
3.5.2. 3.2 根据指定区块高度查询最近链配置
类名
chainConfig
参数说明
blockHeight: 区块高度(number)
async getChainConfigByBlockHeight(blockHeight)
3.5.3. 3.3 查询最新链配置序号Sequence
类名
chainConfig
async getChainConfigSequence()
3.5.4. 3.4 链配置更新获取Payload签名
类名
chainConfig
参数说明
类型:k-v Object对象
payload: 待签名payload
userInfo: 需要签名的用户(class UserInfo)
signChainConfigPayload(payload, userInfo)
3.5.5. 3.5 链配置更新Payload签名收集&合并
类名
chainConfig
参数说明
signedPayloadBytesArray: 签名之后的payload bytes数组(Array[payloadBytes])
mergeChainConfigSignedPayload(signedPayloadBytesArray)
3.5.6. 3.6 发送链配置更新请求
类名
chainConfig
参数说明
signPayloadBytes: 签名之后的payload bytes
async sendChainConfigUpdateRequest(signPayloadBytes)
3.5.7. 3.7 更新Block模块待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
txTimestampVerify: 是否需要开启交易时间戳校验(boolean)
(以下参数,若无需修改,请置为-1)
txTimeout: 交易时间戳的过期时间(秒),其值范围为
[600, +∞)(number)
blockTxCapacity: 区块中最大交易数,其值范围为
(0, +∞](number)
blockSize: 区块最大限制,单位MB,其值范围为
(0, +∞](number)
blockInterval: 出块间隔,单位:ms,其值范围为
[10, +∞](number)
async createChainConfigBlockUpdatePayload({txTimestampVerify, txTimeout = -1, blockTxCapacity = -1, blockSize = -1, blockInterval = -1, userInfoList})
3.5.8. 3.8 更新Core模块待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
txSchedulerTimeout: 交易调度器从交易池拿到交易后, 进行调度的时间,其值范围为
[0, 60]
,若无需修改,请置为-1(number)txSchedulerValidateTimeout: 交易调度器从区块中拿到交易后, 进行验证的超时时间,其值范围为
[0, 60]
,若无需修改,请置为-1(number)
async ceateChainConfigCoreUpdatePayload({txSchedulerTimeout = -1, txSchedulerValidateTimeout = -1, userInfoList,})
3.5.9. 3.9 添加信任组织根证书待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
orgId: 组织Id(string)
roots: 根证书数组(string)
async createChainConfigTrustRootAddPayload({ orgId, roots })
3.5.10. 3.10 更新信任组织根证书待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
orgId: 组织Id(string)
roots: 根证书数组(string)
async createChainConfigTrustRootUpdatePayload({ orgId, roots })
3.5.11. 3.11 删除信任组织根证书待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
orgId: 组织Id(string)
async createChainConfigTrustRootDeletePayload({ orgId })
3.5.12. 3.12 添加权限配置待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
permissionResourceName: 权限名(string)
rule: 权限内容(string)
orgList: 组织列表(Array[string])
roleList: 权限列表(Array[string])
async createChainConfigPermissionAddPayload({ permissionResourceName, rule, orgList = [], roleList = [] })
3.5.13. 3.13 更新权限配置待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
permissionResourceName: 权限名(string)
rule: 权限内容(string)
orgList: 组织列表(Array[string])
roleList: 权限列表(Array[string])
async createChainConfigPermissionUpdatePayload({ permissionResourceName, rule, orgList, roleList })
3.5.14. 3.14 删除权限配置待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
permissionResourceName: 权限名(string)
async createChainConfigPermissionDeletePayload({ permissionResourceName })
3.5.15. 3.15 添加共识节点地址待签名payload生成
类名
chainConfig
参数说明
orgId: 节点组织Id(string)
nodeIds: 节点Id数组(Array[string])
async createChainConfigConsensusNodeIdAddPayload(orgId, nodeIds)
3.5.16. 3.16 更新共识节点地址待签名payload生成
类名
chainConfig
参数说明
orgId: 节点组织Id(string)
nodeId: 旧节点Id(string)
newNodeId: 新节点Id(string)
async createChainConfigConsensusNodeIdUpdatePayload(orgId, nodeId, newNodeId)
3.5.17. 3.17 删除共识节点地址待签名payload生成
类名
chainConfig
参数说明
orgId: 节点组织Id(string)
nodeId: 节点Id(string)
async createChainConfigConsensusNodeIdDeletePayload(orgId, nodeId)
3.5.18. 3.18 添加共识节点待签名payload生成
类名
chainConfig
参数说明
orgId: 节点组织Id(string)
nodeIds: 节点Id数组(Array[string])
async createChainConfigConsensusNodeOrgAddPayload(orgId, nodeIds)
3.5.19. 3.19 更新共识节点待签名payload生成
类名
chainConfig
参数说明
orgId: 节点组织Id(string)
nodeIds: 节点Id数组(Array[string])
async createChainConfigConsensusNodeOrgUpdatePayload(orgId, nodeIds)
3.5.20. 3.20 删除共识节点待签名payload生成
类名
chainConfig
参数说明
orgId: 节点组织Id(string)
async createChainConfigConsensusNodeOrgDeletePayload(orgId)
3.5.21. 3.21 添加共识扩展字段待签名payload生成
类名
chainConfig
参数说明
kvs: 字段key、value对(k-v Object对象)
async createChainConfigConsensusExtAddPayload(kvs)
3.5.22. 3.22 添加共识扩展字段待签名payload生成
类名
chainConfig
参数说明
kvs: 字段key、value对(k-v Object对象)
async createChainConfigConsensusExtUpdatePayload(kvs)
3.5.23. 3.23 添加共识扩展字段待签名payload生成
类名
chainConfig
参数说明
keys: 字段key数组(Array[string])
async createChainConfigConsensusExtDeletePayload(keys)
3.5.24. 3.24 添加信任成员证书待签名payload生成
类名
chainConfig
参数说明
类型:k-v Object对象
trustMemberOrgId: 组织Id
trustMemberNodeId: 节点Id
trustMemberRole: 成员角色
trustMemberInfo: 成员信息内容
async createChainConfigTrustMemberAddPayload({
trustMemberOrgId,
trustMemberNodeId,
trustMemberRole,
trustMemberInfo,
})
3.5.25. 3.25 删除信任成员证书待签名payload生成
类名
chainConfig
参数说明
trustMemberInfo: 成员信息内容
async createChainConfigTrustMemberDeletePayload(trustMemberInfo)
3.5.26. 4 证书管理接口
3.5.26.1. 4.1 用户证书添加
类名
certMgr
参数说明
在response.ContractResult.Result字段中返回成功添加的certHash
async addCert()
3.5.26.2. 4.2 用户证书删除
类名
certMgr
参数说明
certHashes: 证书Hash列表(Array[string])
async deleteCert(certHashes)
3.5.26.3. 4.3 用户证书查询
类名
certMgr
参数说明
certHashes: 证书Hash列表(Array[string])
async queryCert(certHashes)
3.5.26.4. 4.4 获取用户证书哈希
类名
certMgr
参数说明
async getCertHash()
3.5.26.5. 4.5 生成证书管理操作Payload(三合一接口)
类名
certMgr
参数说明
method: CERTS_FROZEN(证书冻结)/CERTS_UNFROZEN(证书解冻)/CERTS_REVOCATION(证书吊销)
params: 证书管理操作参数
async createCertManagePayload(method, params)
3.5.26.6. 4.6 生成证书冻结操作Payload
类名
certMgr
参数说明
certs: 证书列表(Array[string])
async createCertManageFrozenPayload(certs)
3.5.26.7. 4.7 生成证书解冻操作Payload
类名
certMgr
参数说明
certs: 证书列表(Array[string])
async createCertManageUnfrozenPayload(certs)
3.5.26.8. 4.8 生成证书吊销操作Payload
类名
certMgr
参数说明
certCrl: 吊销证书的crl(string)
async createCertManageRevocationPayload(certCrl)
3.5.26.9. 4.9 待签payload签名
类名
certMgr
参数说明
payload: 待签名payload
signCertManagePayload(payload)
3.5.26.10. 4.10 证书管理Payload签名收集&合并
类名
certMgr
参数说明
signedPayloadBytesArray: 签名之后的payload bytes数组(Array[payloadBytes])
mergeCertManageSignedPayload(signedPayloadBytesArray)
3.5.26.11. 4.11 发送证书管理请求(证书冻结、解冻、吊销)
类名
certMgr
参数说明
payloadBytes: 签名之后的payload bytes
withSyncResult: 是否同步获取结果
async sendCertManageRequest(payloadBytes, withSyncResult)
3.5.27. 5 消息订阅接口
3.5.27.1. 5.1 区块订阅
类名
subscribe
参数说明
startBlock: 订阅起始区块高度,若为-1,表示订阅实时最新区块(number)
endBlock: 订阅结束区块高度,若为-1,表示订阅实时最新区块(number)
withRwSet: 是否返回读写集(boolean)
callBack: 回调函数,第一个参数是监听到的的block区块,第二个参数是错误信息
subscribeBlock(startBlock, endBlock, withRwSet, callBack)
3.5.27.2. 5.2 交易订阅
类名
subscribe
参数说明
startBlock: 订阅起始区块高度,若为-1,表示订阅实时最新区块(number)
endBlock: 订阅结束区块高度,若为-1,表示订阅实时最新区块(number)
txType: 订阅交易类型,若为common.TxType(-1),表示订阅所有交易类型(number)
txIds: 订阅txId列表,若为空(null),表示订阅所有txId(Array[string])
callBack: 回调函数,第一个参数是监听到的交易,第二个参数是错误信息
subscribeTx(startBlock, endBlock, txType, txIds, callBack)
3.5.27.3. 5.3 合约事件订阅
类名
subscribe
参数说明
topic: 订阅的主题(string)
contractName: 智能合约名称(string)
callBack: 回调函数,第一个参数是监听到的合约事件,第二个参数是错误信息
subscribeContractEvent(topic, contractName, callBack)
3.5.27.4. 5.4 多合一订阅
类名
subscribe
参数说明
txType: 订阅交易类型,目前已支持:区块消息订阅(common.TxType_SUBSCRIBE_BLOCK_INFO)、交易消息订阅(common.TxType_SUBSCRIBE_TX_INFO)、合约事件订阅(common.TxType.CONTRACT_EVENT_INFO)
payloadBytes: 消息订阅参数payload
callBack: 回调函数,第一个参数是监听到的事件返回,第二个参数是错误信息
subscribe(payloadBytes, txType, callBack)
3.5.28. 6 证书压缩
开启证书压缩可以减小交易包大小,提升处理性能
3.5.28.1. 6.1 启用压缩证书功能
类名
certCompression
参数说明
async enableCertHash()
3.5.28.2. 6.2 停用压缩证书功能
类名
certCompression
参数说明
async disableCertHash()
3.5.29. 7 工具类
3.5.29.1. 7.1 将EasyCodec编码解码成map
类名
easyCodec
easyCodecItemToParamsMap(easyCodecObj)
3.5.30. 8 数据归档
3.5.30.1. 8.1 获取已归档区块高度
类名
callSystemContract
参数说明
async getArchivedBlockHeight()
3.5.30.2. 8.2 构造数据归档区块Payload
类名
archive
参数说明
targetBlockHeight: 目标区块高度(number)
createArchiveBlockPayload(targetBlockHeight)
3.5.30.3. 8.3 构造归档归档数据恢复Payload
类名
archive
参数说明
fullBlock: 完整区块的bytes
createRestoreBlockPayload(fullBlock)
3.5.30.4. 8.4 获取归档操作Payload签名
类名
archive
参数说明
payloadBytes: 待签名payloadBytes
signArchivePayload(payloadBytes)
3.5.30.5. 8.5 发送归档请求
类名
archive
参数说明
mergeSignedPayloadBytes: 签名之后的payloadBytes
async sendArchiveBlockRequest(mergeSignedPayloadBytes)
3.5.30.6. 8.6 归档数据恢复
类名
archive
参数说明
fullBlock: 完整区块的bytes
async restoreBlock(fullBlock)
3.5.30.7. 8.7 根据交易Id查询已归档交易
类名
archive
参数说明
txId: 交易Id(string)
async getArchivedTxByTxId(txId)
3.5.30.8. 8.8 根据区块高度查询已归档区块
类名
archive
参数说明
blockHeight: 区块高度(number)
withRWSet: 是否返回读写集(boolean)
async getArchivedBlockByHeight(blockHeight, withRWSet)
3.5.30.9. 8.9 根据区块高度查询已归档完整区块(包含:区块数据、读写集、合约事件日志)
类名
archive
参数说明
blockHeight: 区块高度(number)
async getArchivedFullBlockByHeight(blockHeight)
3.5.30.10. 8.10 根据区块哈希查询已归档区块
类名
archive
参数说明
hash: 区块哈希(string)
withRWSet: 是否返回读写集(boolean)
async getArchivedBlockByHash(hash, withRWSet)
3.5.30.11. 8.11 根据交易Id查询已归档区块
类名
archive
参数说明
txId: 交易Id(string)
withRWSet: 是否返回读写集(boolean)
async getArchivedBlockByTxId(txId, withRWSet)
3.5.31. 9 系统类接口
3.5.31.1. 9.1 SDK停止接口
关闭连接池连接,释放资源
stop()
3.5.32. 10 类构造函数
3.5.32.1. 10.1 UserContract
参数说明
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
constructor(chainID, userInfo, node)
3.5.32.2. 10.2 CallUserContract
参数说明
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
constructor(chainID, userInfo, node)
3.5.32.3. 10.3 CallSystemContract
参数说明
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
constructor(chainID, userInfo, node)
3.5.32.4. 10.4 ChainConfig
参数说明
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
constructor(chainID, userInfo, node)
3.5.32.5. 10.5 CertMgr
参数说明
chainConfig: ChainConfig类(class ChainConfig)
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
constructor(chainConfig, chainID, userInfo, node)
3.5.32.6. 10.6 Subscribe
参数说明
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
constructor(chainID, userInfo, node)
3.5.32.7. 10.7 EasyCodec
constructor()
3.5.32.8. 10.8 Archive
参数说明
chainID: chainId(string)
userInfo: 用户类(calss UserInfo)
node: 节点类(class node)
callSystemContract: 系统合约调用类(class callSystemContract)
数据库参数,类型:k-v Object对象
type: 数据库类型,目前只支持mysql,默认为mysql,无需设置
dbHost: 数据库地址
dbPort: 数据库端口
dbUsername: 数据库用户名
dbPassword: 数据库密码
constructor(chainID, userInfo, node, callSystemContract, { type = 'mysql', dbHost, dbPort, dbUsername, dbPassword })
3.5.32.9. 10.9 UserInfo
参数说明
orgID: 组织ID
userSignKeyPath: 用户私钥路径
userSignCertPath: 用户证书路径
constructor(orgID, userSignKeyPath, userSignCertPath)
3.5.32.10. 10.10 Node
参数说明
requestTimeout: 延时,单位ms,默认3000
节点配置参数nodeConfigArray,类型:k-v Object数组(Array[Object])
nodeAddr: 节点地址,ip+端口(string)
tlsEnable: 是否开启tls(boolean)
options: 类型k-v Object(pem: 根ca证书Buffer, clientKey: 客户端私钥Buffer, clientCert: 客户端证书Buffer, hostName: 节点域名,对应证书中的sans字段)
constructor(nodeConfigArray, requestTimeout)
3.5.32.11. 10.11 Sdk
参数说明
chainID: chainId(string)
orgID: 组织ID
userSignKeyPath: 用户私钥路径
userSignCertPath: 用户证书路径
nodeConfigArray: 参考10.6nodeConfigArray
timeout: 延时,单位ms
archiveConfig: 参考10.8数据库参数
constructor(chainID, orgID, userSignKeyPath, userSignCertPath, nodeConfigArray, timeout, archiveConfig = {})
3.5.32.12. 10.12 LoadFromYaml
参数说明
configPath: 配置文件路径(string)
constructor(configPath)