在BSN中我们是根据用户购买的TPS,系统CPU测算出用户每笔交易的最大gas值,通过最大gas值来限制用户每笔交易的gas值,如用户交易所需的gas值超出最大gas值则交易失败,同时网关会将超出gas值限制的提示信息返回到链下业务系统。
FISCO BCOS的智能合约中没有获取历史数据的方法,因为FISCO BCOS使用分布式存储的表结构存储账户状态,不存历史信息,去掉了对MPT树的依赖,性能更高。可以将历史的交易ID都存储下来,然后调用getTxInfoByTxHash方法通过交易哈希获取交易的详细信息,并通过web3sdk对input做解析,即可得到交易数据。
由于BSN适配的是FISCO BCOS国密版,所以链下业务系统在解析参数时需要将web3sdk的密钥类型改为国密版本,即修改配置文件中encryptType为1。
块信息中会包含已上链数据的读写集,会引发数据安全和隐私问题,在老版的getBlockInfo接口中我们屏蔽了该字段。在新版的getBlockInfo中已经返回了交易的部分信息(创建人、时间戳等),但不包含交易原始数据信息,可参考开发者手册进行开发http://kb.bsnbase.com/webdoc/view/Pub4028813e7...
原则上重要的、敏感的数据加密后上链,比较大的数据hash值上链; 每个企业的具体需求不同,还需要结合自己的实际业务需要进行链改操作; 日常非重要且数据量比较大冗余的数据可保存在本地数据库内。
可以为业务系统的每个用户创建子用户,子用户拥有主用户的全部权限,然后通过链下业务系统控制每一个子用户的权限,来参与链上的业务。
orderer的排序是指向orderer提交的交易信息通过共识机制进行排序。因为向orderer提交的交易是由客户端发起的,orderer和peer是基于GRPC通信来实现账本数据同步,所以不是按照优先级顺序排列的。
请检查您的接口地址,查看是否写成了Fabric网关API的接口地址,FISCO BCOS网关API接口地址列表如下https://www.bsnbase.com/static/kfzsc/7-1.html
查看服务是否添加了链码FUN类型为event的功能; eventRegister接口中的eventKey是创建服务/服务升级时链码FUNC类型为event时添加的事件名称。
使用Fabric网关sdk实例的reqChainCode或trans接口调用预置链码包的set/update方法时请求参数args为[ {"{\"baseKey\":\"test2020041\",\"baseValue\":\"this is string...