SDK其他功能
Class:Channel
1, new Channel(name, clientContext)创建一个通道实例
Name 通道名 licentContext客户端实例
2, addOrderer(orderer, replace)添加排序节点 节点名 是否覆盖之前同名的节点(boolean)
3,addPeer(peer, mspid, mspid, roles, replace) 添加对等节点
名字 自己的MSPID 正在使用的MSPID 角色 是否覆盖
4,getChannelConfig(target)为通道当前块请求对等节点
5,getChannelConfigFromOrderer()向排序节点获取通道的最新块
6,getChannelPeer(name)通过节点名称获取通道节点
7,getChannelPeers()获取通道所有对等节点 返回一个对等节点list
8,getDiscoveryResults()返回发现结果
9,getGenesisBlock(request)获得创世块承诺
Request{ txID:交易Id ; orderer:排序节点}
10,getMSPManager()获取通道MSP管理器
11,getName() string获取通道名字
12,getOrderer(name) Orderer获取排序节点的名字或url
13,getOrderers()Array.<Orderer>获取通道的所有排序节点
14,getOrganizations()从MSP获取组织标示符
15,getPeer(name)获取对等节点
16,getPeers()获取所有的对等节点
17,getPeersForOrg(mspid)返回该MSPID的节点列表
18,initialize(request)初始化通道
19,joinChannel(request, timeout)加入通道 request{target:节点对象或节点名称数组,block:创世块的字节码,txId:事务ID}
20,newChannelEventHub(peer)节点创建事件中心
21,queryBlock(blockNumber, target, useAdmin, skipDecode)查询number块上的账本
22,queryBlockByHash(block, target, useAdmin, skipDecode)通过块的hash查询块
23,queryBlockByTxID(tx_id, target, useAdmin, skipDecode)通过事件ID查询块信息
24,queryByChaincode(request)通过链码查询区块链上信息
25,queryInfo(target, useAdmin)查询当前区块的信息(高度等等)26,queryInstantiatedChaincodes(target, useAdmin)查询目标对等点上的实例化链表的分类帐
27,queryTransaction(tx_id, target, useAdmin, skipDecode)通过ID查询目标对等体上的分类帐
28,refresh(request)刷新通道配置
29,removeOrderer(orderer)移除通道url地址的第一个的排序对象30,removePeer(peer)移除对等节点
31,sendInstantiateProposal(request, timeout)向一个或多个节点发送实例化链码
32,sendTransaction(request, timeout) 将包含交易建议背书的建议响应发送到订购者以进一步处理。这是在结构中的事务生命周期的第二个阶段。订购者将在此通道上下文中全局订购事务,并将结果块传递给提交对等方,以便根据chaincode的签约策略进行验证。当提交对等点成功验证事务时,它将在块内将事务标记为有效。在一个块中的所有事务都经过验证并被标记为有效或无效(带有原因代码)之后,该块将被附加(提交)到对等方的通道分类账中。
33,sendTransactionProposal(request, timeout)向一个或多个对等节点发送事务
34,sendUpgradeProposal(request, timeout)向节点发送链码升级
35,setMSPManager(msp_manager)设置MSP管理器
36,toString()
37,verifyProposalResponse(proposal_response)验证单个建议响应的实用方法
Module: api
api. KeyValueStore
new KeyValueStore() 密钥值存储的抽象类
getValue(name) 如果值不存在返回null
setValue(name, value)
api. Key 加密密钥
new Key() 创建一个key对象
getPublicKey() 如果非对称的私钥返回相应的公钥,如果密钥已经公开返回密钥本身
getSKI()返回该密钥的标示符
isPrivate()判断key是否是私有的
isSymmetric()判断是否是对称密钥
toBytes()
api. Hash
new Hash() 生成一个哈希对象
api. EndorsementHandler
new EndorsementHandler()
<static> create()由生成一个处理程序的实例
endorse(params) (统计?)背书
initialize()初始化通道
api. CryptoSuite
new CryptoSuite()
decrypt(key, cipherText, opts) 使用密钥解密密文
key 密钥 cipher 要解密的密文 解密选项
deriveKey(key, opts)从源公钥派生新的私钥 key源密钥
encrypt(key, plainText, opts)加密明文
key加密密钥(公钥) plainText 明文 加密选项
generateEphemeralKey()
generateEphemeralKey()生成一个短暂的密钥
generateKey(opts)生成密钥
getKey(ski)通过密钥标示符返回与之关联的密钥
api. CommitHandler
new CommitHandler()
<static> create()创建一个处理程序的实例
commit(params)承诺参数
initialize()初始化通道
Class: BaseClient
Client 的基类
Class: BasePackager
findMetadataDescriptors(filePath)查找元数据描述符 (只有。Json的结果才会返回)
findSource(filepath)寻找路劲下的链码资源
generateTarGz(descriptors, dest) 根据提供的描述符条目创建一个.t.gz流
isMetadata(filePath)判断是否为元数据描述符文件
isSource(filePath)判断是否为有效的源代码
package(chaincodePath, metadataPath) request.chaincodePath下的所有文件都会被包含到一个存档文件中
packEntry(pack, desc) 给定{fqp,name}元组,生成一个tar条目,该条目包含从文件系统读取的可读头和填充内容。
Class: BasicCommitHandler
是CommitHandlerAPI的一个实现 提交事务给一个排序节点(一次向一个)
new BasicCommitHandler(channel)绑定通道
<static> create(channel) 工厂方法来创建提交器处理程序的实例。
commit(params)向一个或多个对等节点发送已认可的事物
initialize()通道初始化函数执行时这个函数会被调用
Class: BlockDecoder
实用程序类 用于把块的信息的protobuf编码字节数组转化为纯JavaScript对象
new BlockDecoder()
<static> decode(block_bytes) 构造一个json对象存块的字节码信息
<static> decodeBlock(block_data) 构造一个对象,该对象包含来自原始Bufff编码的“块”对象的所有解码值。
<static> decodeTransaction(processed_transaction_bytes)构造一个Transaction解码值对象
Class: ChannelEventHub
有三种方法 对快 ,信道 ,事件
new ChannelEventHub(channel, peer)
registerBlockEvent(onEvent, onError, options)注册一个块监听器
registerChaincodeEvent(ccid, eventname, onEvent, onError, options)注册一个信道监听器
registerTxEvent(txid, onEvent, onError, options)注册一个事件监听
注销:
unregisterBlockEvent(block_registration_number, throwError)
unregisterChaincodeEvent(listener_handle, throwError)
unregisterTxEvent(txid, throwError)
Class: Client
<static> loadFromConfig(config) 加载网络配置对象或加载JSON文件并返回客户端对象
createChannel(request)调用Orderer生成新通道
newEventHub()返回一个eventHub对象
Class: CouchDBKeyValueStore
new CouchDBKeyValueStore(options)
options:url形式为http(s)://:@host:port name名字
getValue(name)取值
setValue(name, value)存值
Class: CryptoSuite_ECDSA_AES
Ecdsa的实现
new CryptoSuite_ECDSA_AES(keySize, hash)
keysize 256-384 hash Optional. Hash algorithm, supported values are "SHA2" and "SHA3"
decrypt()解密实现模块
deriveKey()生成私钥
encrypt()加密
generateEphemeralKey()生成一个短暂的钥匙
generateKey(opts)生成密钥
getKey(ski)获取密钥
hash()生成消息的散列
importKey(pem, opts)
<abstract> setCryptoKeyStore(cryptoKeyStore)设置加密仓库
sign(key, digest)签名摘要
verify(key, signature, digest) 根据密钥和摘要验证签名
Class: CryptoSuite_PKCS11
支持硬件安全模块的PKCS#11兼容实现。
Class: DiscoveryEndorsementHandler
EndorsementHandler API的实现
Class: ECDSA_KEY
Class: EndorsementPolicy
管理要传递到调用中以实例化chaincode的支持策略的构造。
<static> buildPolicy(msps, policy) 构建一个背书策略信封。如果不存在可选的“policy”对象,则返回默认策略“来自与成员服务提供者数组相对应的任何组织的任何成员的签名”。
Class: TransactionID
生成一个事件ID