乐趣区

关于区块链:近期BSN开发常见问题答疑

id:BSN_2021

公众号:BSN 研习社

区块链服务网络(Blockchain-based Service Network)(以下称为“BSN”)是一个跨云服务、跨门户、跨底层框架,用于部署和运行区块链利用的全球性公共基础设施网络,由国家信息中心、中国移动通信集团公司、中国银联股份有限公司、北京红枣科技有限公司独特发动。

2019 年 10 月 15 日,BSN 公布并开启内测。2020 年 4 月 25 日,BSN 正式商用、海外版开启公测。

截止以后,BSN 已上线运行两年无余,开发者在应用过程中,也提出了不少的问题。上面是 BSN 技术支持人员最新总结的常见问题(FAQ)。

问:应用 PCNGateway-Java-SDK 调用网关进行数据上链时报

“Path:xxxxxprivate_key.pem,Exception:{}”怎么解决?

答:1、间接传递密钥内容,如 config.setPrk(“ 密钥内容 ”);

2、配置绝对路径,如:

config.setPrk(Common.readLocalFile(“D:\cert\private_key.pem”));

3、配置相对路径,将密钥放在我的项目中的 resource 文件下,如文件在

resource/cert/private_key.pem,config.setPuk(Common.readFile(“cert/private_key.pem”))

问:文昌链反对应用 go 语言开发智能合约吗?

答:不反对,目前文昌链 wasm 合约只反对 rust 语言。

问:武汉链上传公钥模式下调用合约失败,报“only replay-protected (EIP-155) transactions allowed over RPC”是因为什么?

答:在代码中为交易签名时要指明以后节点所在的 ChainID,例如原来应用的是 TransactionEncoder.signMessage(rawTransaction, credentials) 这个办法,

替换为这个办法

TransactionEncoder.signMessage(rawTransaction, chainId, credentials) 即可调用胜利,武汉链的 ChainID 为 5555。

问:BSN 减少 Fabric2.3.2 后在应用上和 Fabric1.4.3 有什么区别?

答:Fabric2.3.2 和 Fabric1.4.3 的接入城市节点网关 API 是通用的,智能合约是不通用的,如要应用 Fabric2.3.2 要从新编写智能合约,可参考 BSN 提供的 Fabric2.3.2 预置智能合约

https://github.com/BSNDA/Fabr…

问:应用 BSN 网关 SDK 实例调用链码时提醒 ”DApp information does not exist” 是因为什么?

答:应用 BSN 网关 SDK 实例调用链码时传递的 appCode 参数值要和我参加的服务页面—查看—应用服务接入配置参数中的 appCode 保持一致。

问:应用 BSN 网关 SDK 实例调用链码时提醒 ”User information does not exist” 是因为什么?

答:应用 BSN 网关 SDK 实例调用链码时传递的 userCode 参数值要和我参加的服务页面—查看—应用服务接入配置参数中的 userCode 保持一致。

问:武汉链和以太坊(ETH)有什么区别?

答:1、共识协定不同。以太坊(ETH)用的是 PoW 共识而武汉链用的是 POA 共识。

2、版本不同。武汉链目前只停在以太坊伊斯坦布尔降级版本,没有柏林降级和伦敦降级的版本内容。

问:本人搭建了一套基于 FISCO BCOS 的单群组四节点的区块链网络环境,还搭建了 Webase,在 Webase 上部署合约,链下业务零碎采纳 http +json 形式调用合约接口,是否从本人搭建的 Webase+FISCO 移植到 BSN 上进行应用?

答:链上合约相干的文件不须要改变。部署环节从 Webase 部署改为 BSN 部署:将合约源码打包为 zip 上传至 BSN;链下服务接口调用环节从调用 Webase 改为了调用 BSN 网关,这里理解一下网关调用形式就行了。

问:一个利用总共有 4 个合约,合约之间部署是否有依赖关系,比方合约 ABCD,合约 B 可否调用合约 A,合约 C 调用合约 B,合约 D 调用合约 C?

答:目前 BSN 不反对单批次部署的合约之间有依赖关系。能够思考分批次部署(服务降级)例如:合约 A 部署胜利后获取到的合约地址作为参数传到合约 B 中,顺次类推,分批部署;或在合约中凋谢某个办法将须要的合约地址作为参数传递进去设置合约之间的依赖关系。

问:联盟链 FISCO BCOS 和泰安链的区别?

答:尽管泰安链是基于 FISCO BCOS 革新而成的链,然而两者也是有区别的。

(1) Fisco 反对的 solidity 的版本是 0.4+ 版本的,泰安链反对的 solidity 的版本是 0.6+ 版本

(2) 泰安链增加了 gas 耗费机制

(3) 泰安链所有用户处于同一个群组内,solidity 智能合约能够被其余用户调用 , 联盟链 Fisco 则由网关去管制相干权限

退出移动版