美图DPOS以太坊教程(Docker版)

 作者:jianxuanbing

本文为作者原创,转载请注明出处:https://www.cnblogs.com/jianxuanbing/p/10071238.html


一、前言

最近,需要接触区块链项目的主链开发,在EOSBTCethereum超级账本这几种区块链技术当中,相互对比后,最终还是以go-ethereum为解决方案。
ethereum为基准去找解决方案,最终找到了2个符合自己要求的方案,分别如下:美图gttc。本来是想用gttc的这个解决方案的,但是它是基于go-ethereum最新源码来进行二次开发的,相对不稳定,因此还是用美图的解决方案了,毕竟这公司大一点,没那么多坑。

二、源码

为了方便测试,我们需要将节点最大验证器数修改一下,这样便于我们进行简单测试
修改consensus/dpos/dpos.go文件的maxValidator

// 新值 maxValidatorSize = 21 // 旧值 maxValidatorSize = 3

三、构建

# 进入源码根目录 docker build . -t meitugeth

注意:构建过程中会用到build\env.sh文件,会提示无权限,因此你需要给该文件赋予执行权限。

sudo chmod 777 build\env.sh

四、部署

1. 创建节点数据目录

最好事先创建好相应的目录,否则运行后,动态创建目录,会有权限的问题,当然也可以通过命令进行设置目录的权限。

mkdir ~/data mkdir ~/data/meitu mkdir ~/data/meitu/node1 mkdir ~/data/meitu/node2 mkdir ~/data/meitu/node3

2. 编写docker-compose.yml文件

version: '3' services:    meitu_node_1:     image: meitugeth     container_name: meitu_node_1     build:        context: .     command: --ipcpath "/root/.ethereum/geth.ipc" --port 30303     ports:        - 15450:8545       - 15460:8546       - 10303:30303       - 10303:
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信