近期BSN开发常见问题答疑

Posted BSN研习社

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了近期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/FabricBaseChaincode/tree/master/chaincode/go/bsnBaseChaincode

问:使用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则由网关去控制相关权限

网录科技荣膺成为区块链服务网络(BSN)合格开发者

近日,北京网录科技有限公司正式成为国家级区块链服务网络(BSN)合格开发者,与BSN携手为开发者生态尤其是在跨链互操作领域提供专业的技术支持,贡献应尽的力量。


 

区块链服务网络(BSN)是一个跨云服务、跨门户、跨底层框架,用于部署和运行区块链应用的全球性公共基础设施网络,由国家信息中心、中国移动通信集团公司、中国银联股份有限公司、北京红枣科技有限公司共同发起。互联网是通过TCP/IP协议将属于各方的云资源和数据中心连接而形成的,BSN则是通过一套区块链环境协议将属于各方的云资源和数据中心连接而组成。两者均不属于任何单一组织,都是公共基础设施。

 

北京网录科技有限公司是一家具有国际经验的区块链技术企业,创立于2016年7月,获得大河创投,英诺天使,万向分布式资本,沃石投资等千万级天使轮融资,专注于数字资产、数据存证、供应链金融、防伪溯源等领域,为有业务场景及需求的政企客户提供一站式企业级区块链平台和解决方案。网录科技完成了全球首个基于Storeman节点组的完全去中心化跨链机制,并且独创了具有完善委托机制的实用共识机制星系共识。网录科技总部在北京,同时拥有杭州办公室。

 

推动跨链机制创新,加快区块链应用落地

 

网录科技在研究跨链技术的过程中,分析和总结不同联盟链跨链场景的应用需求,规划设计了通用的合约类型和合约规范,以及通用的服务组件和服务接口,在此基础上,提出了不同类型跨链业务和服务实现的参考架构,并开发了通用跨链服务平台,提供跨链服务基础设施能力。

 

网录科技加入BSN合格开发者,凭借自身在跨链领域的积累,将和BSN生态大家庭一道共同推动跨链技术的创新与应用。网录科技能够为开发者生态成员提供通用跨链服务,解决成员在不同联盟链上开发的痛点,让成员专注于业务本身,通过对跨链服务平台的定制扩展,实现联盟链跨链应用方案的快速落地。



扫码二维码

获取更多精彩

网录科技




以上是关于近期BSN开发常见问题答疑的主要内容,如果未能解决你的问题,请参考以下文章

企业动态|数信区块链成为国家级联盟链(BSN)合格开发者

网录科技荣膺成为区块链服务网络(BSN)合格开发者

用户指南:BSN内测时的常见问题

区块链服务网络是什么?

Fabric 账本数据块结构解析:如何解析账本中的智能合约交易数据

黑龙江移动算力网络发布会暨区块链服务网络(BSN)创新发展峰会成功举行