Date: 2020-09-14 Source: 本站
学习区块链就是不断踩坑积累的过程,为方便大家更好地从前人中总结经验,我们将FISCO BCOS社群中高频次、高质量的技术提问与探讨沉淀下来,集合成常见FAQ,作为一手学习材料,供大家随时查阅。
本篇收录了关于“WeBASE”的常见问题。WeBASE是由社区伙伴贡献的区块链中间件平台,用以简化区块链应用开发流程,降低企业落地区块链应用的时间成本、人力成本,帮助企业快速搭建区块链应用。
A1 :可以同时使用,是两种不同的功能组件。
A2 :是的。有了交易和事件导出,辅以巧妙定义事件,链下还原mapping数据不是难事。
A3 :目前支持在WeBASE- Front导入pem格式私钥,建议单独在一个地方做调试,单个平台管理更方便。1.3.1版本将支持p12私钥文件导入,敬请期待。
A4 :不会生成 java 文件,Front界面支持生成java类。
A5 :这个版本是需要调用webase sign的newUser接口新增一个用户,然后sign通过返回userId去调用。使用webase-sign来管理私钥的话,可以参考webase-node-mgr接口文档的deployWithSign和transWithSign接口。
A6 :node-manager暂时不支持mac。
unable to create instance of type:org.fisco.bcos.web3j.abi.datatypes.generated.Bytes32
A7 :bytes32要用这种格式输入,长度要一致,在页面加个限制。
0x50cb9fe53daa9737b786ab3646f04d0150dc50ef4e75f59509d83667ad5adb20
A8 :node-manager暂时不支持mac。
A9 :https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/install.htm
A10 :可以的,在front的yaml里可以配置多个sign的ip port。主备区分的情况下,需要另外在代码中配置,front是默认访问第一个。
A11 :这里显示的数量是通过WeBASE平台部署的合约。
A12 :可以的,在front的yaml里可以配置多个sign的ip port。主备区分的情况下,需要另外在代码中配置,front是默认访问第一个。
A13 :如果想单独启动sign可以到webase-sign目录下,调用start.sh脚本。1.3.1版本增加了这个命令,择日即将发布。
A14 :部署的合约是不能删除的,如果要对合约进行调试开发,请使用WeBASE-Front的可视化开发环境。
A15 :front支持导入控制台的pem私钥,建议在单个平台进行操作。
A16 :bytes32需要用0x开头补齐32位的方法。
A17 :需要发笔交易触发才能消除异常合约。
A18 :front的solc目前是引入的js包,文档有相应升级说明。
A19 :定时任务串行的问题导致,等一段时间会自动同步成功。
A20 :只读交易本来就是没有签名,无法保证用户不伪造。建议可以直接用参数指定查询条件。
A21 :使用WeBASE搭建开发环境,开发应用调通后,放到BSN的环境运行;只是网关API替换或者适配一下即可。
A22 :导入合约,然后使用合约地址就可以调用。
A24 :需要填变量名。
A25 :文件路径配置错误。
A26 :数据库版本不匹配,目前manager的mysql版本不支持8.0。
A27 :使用了node-manager后台接口编译智能合约后,调用部署接口传参格式不正确导致报错。
A28 :服务没有启动,检查WeBASE-Node-Manager是否启动。
A29 :回调函数是在event被调用后自动触发的。想要主动查询,可以使用WeBASE-Collect-Bee数据导出组件,将链上的数据导出到链下的数据库中,其中包含了所有的event信息。
A30 :WeBASE管理平台不可以修改,WeBASE-Front可以删除。
A31 :私钥是加密存储的,不能导出,建议您可以先生成一个私钥,再在WeBASE里赋权。
A32 :添加完前置就能获取到group了。
A33 :目前还不支持,后面的版本有规划支持切换。
WeBASE-Front/trans/handleWithSigncontractAbi如果没有传入此字段,则从db或cns获取合约abi;我目前是通过webase-node-manager部署的合约,目前如果不传contractAbi会报错get abi error。请问如何才能不需要传contractAbi参数?从db获取,他是从哪个db获取的?我用的版本是1.3.0。
A34 :1.3移除了cns的逻辑,在front调用合约的话,要传abi。
A35 :本地保存最新的10000个区块,可以在Yml中设置一下最大值,constant-blockRetainMax。
A36 :这个配置指的是编译成JAVA合约的包名,可以随便打开一个JAVA合约,第一行就是。
A37 :如果用0.4.25不用修改,使用0.5就修改build.gradle中的版本号就可以切换。
A38 :账户信息是旧账户,需要重新创建一个新的账户。重新安装所有子系统,或做兼容升级。
A39 :暂不支持单独部署library,可以在合约中引用library。
A40 :版本兼容性问题,WeBASE1.3.1的链需要配合2.4及以上的节点使用, 可参考:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/ChangeLOG.html
A41 :老版本的残留数据冲突,需要清理数据库。
A42 :这个是收集FISCO BCOS节点日志的定时器,如果不关注,改下 WeBASE-Front 的 application.yml 中的配置就好。
A43-1 :fisco.dir是你安装的节点的路径,各个字段填写的值在webase的.properties里有注释说明,比如你在build_chain之后,就在nodes目录存放了节点;https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/enterprise_tools/operation.html#generate-sdk-certificate 参考这个链接生成sdk证书
Q43-2 :看起来是部署成功了,但是通过浏览器访问显示无法加载http://47.115.19.81:5000/,可能是什么原因呢?是在阿里云服务器上部署,然后在本机上浏览器访问。A43-2 :已有链的话,直接在exist填yes就好了,其他的代码不要注释掉。
A44 :WeBase的私钥是用于外部账户发交易的,不建议使用节点的私钥(node.key),使用私钥可以通过webase直接生成。
A45 :可以导出WeBASE-Front的.txt私钥,按照其格式,输入明文的私钥和用户名即可导入到webase中。可以通过openssl查看.key私钥的明文私钥。
A46 :在浏