有奖捉虫:云通信与企业服务文档专题,速来> HOT
Fabric Java 语言版本智能合约有丰富的 API 接口,具体的代码实现可以参考 API 接口代码实现。 从逻辑上划分,可将 API 接口分为以下类型:

交易信息提取

接口
说明
byte[] getBinding()
返回交易的 binding 信息
String getChannelId()
获取当前的通道名称
byte[] getCreator()
获取交易提交者信息
SignedProposal getSignedProposal()
获取交易提案相关数据
Map<String, byte[]> getTransient()
获取交易的临时信息
String getTxId()
获取交易的 ID 信息
Instant getTxTimestamp()
获取交易时间戳

账本交互

接口
说明
void putState(String key, byte[] value)
在账本中添加或者更新一对键值
void putStringState(String key, String value)
在账本中添加或者更新一对键值
byte[] getState(String key)
获取指定键对应的值
String getStringState(String key)
获取指定键对应的值
void delState(String key)
在账本中删除对应的键值
QueryResultsIterator<KeyValue> getStateByRange(String startKey, String endKey)
查询指定范围内的键值
QueryResultsIteratorWithMetadata<KeyValue> getStateByRangeWithPagination(String startKey, String endKey, int pageSize, String bookmark)
分页查询指定范围内的键值
QueryResultsIterator<KeyValue> getStateByPartialCompositeKey(String compositeKey)
查询匹配局部复合键的所有键值
QueryResultsIterator<KeyValue> getStateByPartialCompositeKey(String objectType, String... attributes)
查询匹配局部复合键的所有键值
QueryResultsIterator<KeyValue> getStateByPartialCompositeKey(CompositeKey compositeKey)
查询匹配局部复合键的所有键值
QueryResultsIteratorWithMetadata<KeyValue> getStateByPartialCompositeKeyWithPagination(CompositeKey compositeKey, int pageSize, String bookmark)
分页查询匹配局部复合键的所有键值
QueryResultsIterator<KeyValue> getQueryResult(String query)
查询状态数据库,需要支持富查询功能的状态数据库
QueryResultsIteratorWithMetadata<KeyValue> getQueryResultWithPagination(String query, int pageSize, String bookmark)
分页查询状态数据库,需要支持富查询功能的状态数据库
QueryResultsIterator<KeyModification> getHistoryForKey(String key)
返回对应键的所有历史值
void setStateValidationParameter(String key, byte[] value)
设置特定键的背书策略
byte[] getStateValidationParameter(String key)
获取特定键的背书策略
byte[] getPrivateData(String collection, String key)
获取指定私有数据集集中的键的值
String getPrivateDataUTF8(String collection, String key)
获取指定私有数据集集中的键的值
byte[] getPrivateDataHash(String collection, String key)
获取指定私有数据集集中的键的值的 hash
void putPrivateData(String collection, String key, byte[] value)
设置指定私有数据集集中键的值
void putPrivateData(String collection, String key, String value)
设置指定私有数据集集中键的值
void delPrivateData(String collection, String key)
删除指定私有数据集集中对应的键
void setPrivateDataValidationParameter(String collection, String key, byte[] value)
设置指定私有数据集集中键的背书策略
byte[] getPrivateDataValidationParameter(String collection, String key)
获取指定私有数据集集中键的背书策略
QueryResultsIterator<KeyValue> getPrivateDataByRange(String collection, String startKey, String endKey)
获取指定私有数据集集中特定范围键的键值
QueryResultsIterator<KeyValue> getPrivateDataByPartialCompositeKey(String collection, String compositeKey)
获取指定私有数据集集中匹配局部复合键的键值
QueryResultsIterator
getPrivateDataByPartialCompositeKey(String collection, CompositeKey compositeKey)
获取指定私有数据集集中匹配局部复合键的键值
QueryResultsIterator<KeyValue> getPrivateDataByPartialCompositeKey(String collection, String objectType, String... attributes)
获取指定私有数据集集中匹配局部复合键的键值
QueryResultsIterator<KeyValue> getPrivateDataQueryResult(String collection, String query)
获取指定私有数据集集中特定查询的键值,需要支持富查询功能的状态数据库

参数处理

接口
说明
List<byte[]> getArgs()
获取智能合约中调用参数
List<String> getStringArgs()
获取智能合约中调用参数
String getFunction()
获取智能合约调用的函数名,默认第一个参数为函数名
List<String> getParameters()
获取智能合约调用的参数

其他辅助类

接口
说明
CompositeKey createCompositeKey(String objectType, String... attributes)
组合属性,形成复合键
CompositeKey splitCompositeKey(String compositeKey)
拆分复合键成一系列属性
Response invokeChaincode(final String chaincodeName, final List<byte[]> args, final String channel)
调用其它智能合约 invoke 方法
Response invokeChaincode(String chaincodeName, List<byte[]> args)
调用其它智能合约 invoke 方法
Response invokeChaincodeWithStringArgs(String chaincodeName, List<String> args, String channel)
调用其它智能合约 invoke 方法
Response invokeChaincodeWithStringArgs(String chaincodeName, List<String> args)
调用其它智能合约 invoke 方法
Response invokeChaincodeWithStringArgs(final String chaincodeName, final String... args)
调用其它智能合约 invoke 方法
void setEvent(String name, byte[] payload)
设置发送的事件
ChaincodeEvent getEvent()
获取发送的事件