常见问题解答

版本相关

问: FISCO BCOS 2.0版本与之前版本有哪些变化?
答: 请 参考这里

问: 开发者如何与FISCO BCOS平台交互?
答: FISCO BCOS提供多种开发者与平台交互的方式,参考如下:

  • FISCO BCOS 2.0版本提供JSON-RPC接口,具体请 参考这里
  • FISCO BCOS 2.0版本提供Web3SDK帮助开发者快速实现应用,具体请 参考这里
  • FISCO BCOS 2.0版本提供控制台帮助用户快速了解使用FISCO BCOS,具体请 参考这里

问: FISCO BCOS 2.0版本如何搭建?
答: FISCO BCOS支持多种搭建方式,常用方式有:

  • build_chain.sh:适合开发者体验、测试FISCO BCOS联盟链,具体请 参考这里
  • FISCO-Generator:使用企业用户部署、维护FISCO BCOS联盟链,具体请 参考这里

问: FISCO BCOS 2.0版本的智能合约与之前版本合约有什么不同,兼容性如何?
答: FISCO BCOS 2.0版本支持最新的Solidity合约,同时增加了precompile合约,具体请 参考这里

问: 国密和普通版本的区别有哪些?
答: 国密版FISCO BCOS将交易签名验签、p2p网络连接、节点连接、数据落盘加密等底层模块的密码学算法均替换为国密算法。同时在编译版本,证书,落盘加密,solidity编译java,Web3SDK使用国密版本和普通版本都有区别,具体请 参考这里

问: 是否支持从1.3或1.5升级到2.0版本?
答: 不支持。

控制台

问: 控制台指令区分大小写吗?
答: 区分大小写,命令是完全匹配,但是可以采用tab补全命令。

问: 加入共识列表或观察者列表报错,nodeID is not in network,为什么?
答: 节点加入共识列表和观察者列表的节点必须是连接peer的nodeID列表里面的成员。

问: 删除节点操作报错,nodeID is not in group peers,为什么?
答: 节点删除操作中的节点必须是getGroupPeers里面展示的group的peers。

问: 游离节点(非群组节点)是否可以同步group数据?
答: 游离节点不参与group内的共识、同步和出块,游离节点可以通过控制台addSealer/addObserver命令可以将退出的节点添加为共识/观察节点。

问: 某节点属于不同的group,是否可以支持查询多group的信息。
答: 可以,在进入控制台时,输入要查看的groupID: ./start [groupID]

FISCO BCOS使用

问: FISCO BCOS 2.0版本支持哪些部署方式?
答: 用户可以自由选择以下任一方式获取FISCO BCOS可执行程序。推荐从GitHub下载预编译二进制。

  • 官方提供的静态链接的预编译文件,可以在Ubuntu 16.04和CentOS 7.2以上版本运行。
  • 源码编译获取可执行程序,参考源码编译

问: 系统配置、群组配置、节点配置分别指什么?
答: 系统配置是指节点配置中一些影响账本功能,并需账本节点共识的配置项。群组配置指节点所属的群组的相关配置,节点的每个群组都有独立的配置。节点配置指所有可配置项。

问: 群组配置都是可改的吗?
答: 从配置项是否可改的维度,分为

  • 节点首次启动生成创世块后不能再修改。这类配置放置于group.x.genesis文件,其中x表示组编号,全链唯一。
  • 通过发交易修改配置项实现账本内一致。
  • 修改自身配置文件后,节点重启生效。这类配置放置于group.x.ini文件。群组配置改后重启可改项就是本地配置,nodeX/conf下的group.*.ini文件,更改重启生效。涉及配置项为[tx_pool].limit(交易池容量),[consensus].ttl(节点转发数)。

问: 群组配置用户可以改的涉及哪些配置?
答: 群组可修改配置分为共识可改配置和手工可改配置

  • 共识可改配置:全组所有节点相同,共识后生效。[consensus].max_trans_num,[consensus].node.X,[tx].gas_limit。
  • 手工可改配置:group.x.ini文件中,修改后重启生效,只影响节点。配置项有[tx_pool].limit。

问: 群组共识可改配置如何更改、查询?
答: 共识可改配置可以通过控制台修改。共识可改配置项查询除了控制台外,还可以通过RPC接口查询,具体请 参考这里

  • [consensus].max_trans_num,[tx].gas_limit使用接口setSystemConfigByKey更改,对于的配置项为tx_count_limit,tx_gas_limit。具体参见setSystemConfigByKey -h 。
  • [consensus].node.X的更改涉及到节点管理,控制台接口涉及到addSealer,addObserver,removeNode,具体参考《节点管理》。

问: 群组观察节点和共识节点有什么区别?
答: 观察节点能同步群组数据,但不能参与共识。共识节点除了具有观察者权限,还参与共识。

问: 如何将合约纳入CNS管理?
答: 在部署合约时,调用CNS合约接口,将合约name、version、address信息写入CNS表中。

问: 如何查询合约CNS表?
答: 通过Web3SDK控制台指令查询,查询指令根据合约name查询。

Web3SDK

问: Web3SDK对Java版本有要求吗?
答: 要求JDK8或以上
CentOS的yum仓库的OpenJDK由于缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,在使用CentOS操作系统时,推荐从OpenJDK网站自行下载。 安装指南

问: Web3SDK配置完成,发送交易失败的原因是什么?
答: applicationContext.xml中的ip、端口、群组号填错或者是缺少节点的ca.crt、node.crt和node.key文件。

企业级部署工具

问: 企业级部署工具使用时出现找不到pip

答: 企业级部署工具依赖python pip,使用以下命令安装:

$ python -m pip install

问: 企业级部署工具使用时出现

Traceback (most recent call last):
   File "./generator", line 19, in <module>
    from pys.build import config
   File "/data/asherli/generator/pys/build/config.py", line 25, in <module>
     import configparse

答: 系统缺少python configparser模块,请按照以下命令安装:

  $ pip install configparser