Date: 2020-09-14 Source: 本站
学习区块链就是不断踩坑积累的过程,为方便大家更好地从前人中总结经验,我们将FISCO BCOS社群中高频次、高质量的技术提问与探讨沉淀下来,集合成常见FAQ,作为一手学习材料,供开发者随时查阅。
本篇收录了关于“SDK”的常见问题。SDK帮助用户快速访问区块链,开发测试智能合约,实现业务逻辑。FISCO BCOS目前支持Python-SDK、Nodejs-SDK和Java-SDK等多语言SDK。
Q1 :这里都是直接返回了回执,请问SDK调用合约交易是同步的吗?
A1 :这个接口是同步的,也有异步的接口。
A2 :节点都断开了,本地测试网络应该是稳定的,看下log日志里面的信息,日志里会有ChannelHandler.userEventTriggered(30) | idle state event:WRITER_IDLE connect172.18.0.2:20200 long time Inactive,disconnect。
A3 :SDK的证书用于与节点建立连接,是网络这一层的;账户是发交易的身份,是应用层的;两个完全独立,没有联系。
Python-SDK
A1 :本质都是私钥,可以读下account里的代码,改几行就引入了。
Node-js SDK
A1 :Node-js SDK只有channel一种连接方式,不可以在浏览器中执行,解决方案有两个:一是可以使用ajax之类的工具直接向节点的RPC接口发POST请求获得相应;二是在节点RPC接口不对外的情况下,使用Node-js SDK搭建一个server,网页通过访问这个server来间接调用节点的相关接口。
Java SDK
Q1 :按照“手把手教你在Eclipse中使用JavaSDK”在本机配置了工程,在虚拟机启动4个节点,确保虚拟机和本机可以互ping通的情况下,启动sample工程,提示链接节点失败。
A1 :不要在虚拟机中安装FISCO BCOS,会出现很多问题;ping通不意味着端口通,这是两回事。
A2 :通过SDK发布合约,需要调用java合约类的deploy静态方法。和deployByCNS无关。
A3 :检查下节点证书是否放置到 conf 目录。
A4 :因为没有做域名解析的功能,如果需要的话可以自己修改下代码。
A5 :可能端口配错了,要channel_port。
A6 :Ngnix对SSL的反向代理应该不是只做端口映射就行了。比较复杂,建议去掉代理再试。具体在节点目录下修改config.ini的channel端口,重启节点就可以了。
A7 :项目里面bc库有多个版本,出现了冲突,可以自行检查下。
A8 :需要配置 java 环境,不然控制台无法使用。
Go SDK
A1 :严谨测试后,再在生成环境使用。
RPC接口
A1 :RPC配置成127.0.0.1就行,外部调用不到;2.3版本rpc和channel的监听分离了,2.3之前的版本在网络防火墙关掉8545端口即可。
公众号对话框回复【学习资料】可获得FISCO BCOS全套学习材料。
如果在FAQ中未能找到您的问题,可以添加小助手微信(FISCOBCOS010)进技术群提问交流,点击下方“阅读原文”,告诉我们您对内容的意见与建议。
如果您发现平台中有错误或是想提出功能请求,欢迎进入项目GitHub界面,提issue反馈遇到的问题和建议;如果只是小问题,您也可以顺手提PR进行修改。提交issue/PR的流程请参考《揭秘FISCO BCOS开源项目开发协作》。