目前Fabric不支持将Peer节点退出已加入的Channel,只支持动态添加和删除组织。
在BSN中基于Fabric开发应用调用Invoke方法时只能传递字符串数组类型的参数,这是Fabric 1.4.3提供的链码API 中invoke方法定义的,无法更改传入的参数类型,可以使用stub.GetFunctionAndParameters()获取到传递的参数。
GetFunctionAndParameters方法是Fabric 1.4.3提供的链码API,这个接口只能返回字符串数组类型的数据,目前Fabric 1.4.3没有提供可以返回其他数据结构的API。
BSN适配的Fabric底层框架是使用couchdb数据库进行数据存储的,Fabric链码API提供了couchdb的模糊查询方法getQueryResult,开发者先在链码中实现此方法,然后链下业务系统通过网关API调用该链码方法即可。
在BSN中基于Fabric开发的应用在调用链码时如返回的报错信息中含“Chaincode status Code: (500) UNKNOWN”前缀的异常均为链码返回的异常,这种异常需用户自行检查链码解决。
在BSN中调用fabric的交易接口返回的是向链上提交数据成功的结果,而不是数据最终落块的结果,数据的落块还需要orderer的排序和节点的验证,如果数据没有最终落块,在查询时是查不到的,调用提交交易接口之后可以再次调用getTransaction交易查询接口,根据交易时返回的交易ID查询该交易的最终状态,只有最终的状态为成功时,才能从...
在网关SDK实例中发起交易存储的数据结构是根据BSN提供的通用链码包中的数据格式组装的。如果用户想使用别的格式。只需要自己参考通用链码包修改数据格式发布即可。 最终的存储在链上的数据是以key-value的形式存储在Fabric底层框架的区块链节点的couchDB数据库中的,这是由区块链底层框架的配置决定的,目前是不可以修改的。&nbs...
检查请求参数funcParam字段是否是String类型; 检查请求参数funcParam中包含的具体参数类型是否和智能合约中定义的参数类型一致;如智能合约定义insert方法为insert(string base_id, int256 base_key, string base_value),链下业务系统请求参数funcParam 为...
在BSN中我们是根据用户购买的TPS,系统CPU测算出用户每笔交易的最大gas值,通过最大gas值来限制用户每笔交易的gas值,如用户交易所需的gas值超出最大gas值则交易失败,同时网关会将超出gas值限制的提示信息返回到链下业务系统。