-
Notifications
You must be signed in to change notification settings - Fork 109
搭建比特元节点 自定义公链
QM edited this page Dec 21, 2020
·
1 revision
比特元公链会在版本更新是发布安装包,可以用安装包部署。 也可以用源代码编译部署。
源代码在 https://github.com/bityuan/bityuan。
部署比特元公链节点不要修改配置, 才能保证创世区块和共识的一致。
# 需要 golang >=1.12,
# make 是可能需要安装一些小工具。 make dep命令会安装需要的工具
$ git clone https://github.com/bityuan/bityuan $GOPATH/src/github.com/bityuan/bityuan
$ cd $GOPATH/src/github.com/bityuan/bityuan
$ git tag
$ git checkout $lastest_tag # 找到最新版本的tag,
$ make
$ ls bityuan*
bityuan # 节点
bityuan-cli # 节点客户端
bityuan.lite.toml # 裁剪版本配置 , 硬盘占用比完整版本小
bityuan.toml # 完整版本配置
$ ./bityuan -f bityuan.toml # 启动, 也可以用 bityuan.lite.toml 启动,节省硬盘
- 安装带节点钱包: https://www.bityuan.com/wallet 找适合自己机器操作系统的安装安装包,进行下载安装
- 阿里云节点安装:https://dev.33.cn/linj/installChain33.git 根据 REAMME 安装
chain33 作为公链开发框架, 大家可以根据自己的需要发布自己的公链
可以通过配置定义新的公链
- 公链的名字
- 公链主币的名称选择
- 配置开启某些合约
- 配置共识的类型
- 配置状态树的类型选择
具体的实践可以参考: [email protected]:bityuan/bityuan.git
比特元项目就是用了 chain33 公链框架, 用了 plugin里的合约 存储 共识等插件构建出来的。
- 链的名字
- 主币的名字
Title=LinJChain # 链的名字
CoinSymbol=LJB # 主币的名字
在初始节点要加上seeds, 在公链刚刚上线时, 初始参与节点搭建的人可以容易的加入到网络中。
目前支持共识 ticket, solo, raft,tendermint, pbft, dpos
每种共识都有自己的配置,而且选项比较多, 需要参考 chain33项目types 和 plugin里面types 以及共识代码目录的types定义
现在支持mavl kvmvccmavl两种, 在store节name配置选择状态树种类。 里面的选项可以用默认的, 如果你对其细节有深入的了解可以通过参数调优。
[store]
name="kvmvccmavl"
driver="leveldb"
storedbVersion="2.0.0"
dbPath="paradatadir/mavltree"
dbCache=128
[store.sub.mavl]
enableMavlPrefix=false
enableMVCC=false
enableMavlPrune=false
pruneHeight=10000
enableMemTree=true
enableMemVal=true
[store.sub.kvmvccmavl]
enableMVCCIter=true
enableMavlPrefix=false
enableMVCC=false
enableMavlPrune=false
pruneHeight=10000
enableMemTree=true
enableMemVal=true
公链可以根据自己的需要,确定是否开启那个合约。
每一个现有实现合约可以Enable选项是否开启。( 在需要的功能没有的话可以自己开发)
一般fork 分为开启新功能, 和fix bug, 没有特别的要求设置为0 就可以了。
[fork.sub.token]
Enable=0
ForkTokenBlackList= 0
ForkBadTokenSymbol= 0
ForkTokenPrice=0
ForkTokenSymbolWithNumber=0
ForkTokenCheck= 0