基于Baas底层搭建链

前面我们已经了解到,国内的底层Baas技术主要有BCOS,Fabric,ChainMaker,Conflux等。其中,Conflux有一些特殊,目前它是国内唯一合法的公链,它可以不搭建节点网络,直接通过平台节点网络使用它。

像使用FISCO BCOS,是需要基于官方生态来搭建一条区块链的。不过这个工作已经有平台帮你做好啦,很多平台已经基于FISCO BCOS搭建了一条Saas服务的区块链,你直接申请使用即可。

不过,这不是我们的重点,我们的重点是告诉你动手搭建一条链的大逻辑。

下面以FISCO BCOS为例,讲述一下搭建链的过程。

基于Baas底层搭建链之前,我们需要清楚,这条链需要几个节点,有几个组织或群组,是单机部署还是多机部署,以后会不会增加节点,链的共识算法,链的地址算法,链的数据存储方式等。大多数情况,基于联盟链的PBFT算法,至少需要4个节点。组织一般是所有节点1个,或者一个节点1个。单机或多机部署一般考虑成本、性能、授权三种情况,授权就是要不要把某一个节点给法院、政府或其他机构等背书。动态增加节点可以暂且不考虑,因为不管是什么样的链,都不影响后期的增加节点的,只要给权限就能实现。链的共识算法大多已经被Baas底层确定,如果可以选择的话,联盟链主要还是选择拜占庭算法。链的地址算法也看链Baas的支持,FISCO的话,支持ECDSA和SM2,如果想更好地对接国标,自然选择SM2,否则建议选择ECDSA。链的数据存储引擎可能也有多个,如MySQL、LevelDB、RocksDB等,无特殊需求,建议使用默认的RocksDB存储引擎即可。

那现在我们就来搭建一条4节点1群组的单机部署链。

这里说明一下,单机和多机部署的区别其实不大,单机部署可以理解成把一台服务器划分出4个空间,4个空间直接本地通信。而多机部署理解成把4台服务器组成一条链,4台服务器通过内网VPC通信。假设计算资源和存储空间充足的情况,单机部署和多机部署最大的区别就是通信的不同,一者在本地,一者在内网VPC。所以,单机部署,改变节点P2P网络,分散节点到不同服务器,就可以拆分为多机。同样,多机部署,改变节点P2P网络到本地,合并节点到本地,就可以合并为单机。

所有的基于Baas底层建链,最重要的资料推荐官方生态文档,然后是辅助的Google资料、BIliBili视频资料等,还有官方技术支持、经验前辈的咨询、内部人员的指导和建议等。

准备好资料,注意操作系统、软件版本、网络联通、防火墙、开放端口、共识算法、地址算法、数据存储、快照等,按照文档,一步一步搭建链。关键步骤,都建议创建快照备份。搭建完成后,检查端口占用情况,检查进程,查看输出日志,确保链已经正常启动并运行。

中间如果遇到一些小问题,可以拿着问题到Google检索,寻找答案。如果解决不了,还可以找官方技术支持。更快的方式是找有经验的前辈付费咨询,或者找内部人付费咨询,都能很快解决问题。

这样,一条能正常运行的区块链就搭建完成了。

另外,建议写一份简单的运维文档,主要包括:操作系统基本配置,依赖软件的版本、安装位置、资源位置、基本使用命令及脚本等,服务器网络开放及连接情况,服务站点位置、配置文件、使用脚本、查看日志及进程命令等。