国内以太坊节点数量不足300个,而且国内特殊的网络原因也会影响到国内用户同步区块数据。为了国内用户更加流畅地同步区块,EthFans 发起星火节点计划。
1. 系统要求
安装 Docker
安装 Compose
环境验证: 用户可以用如下命令验证环境,如果返回信息类似,则说明系统满足要求
# docker-compose ps Name Command State Ports ------------------------------
2. 基本用法(以geth为例)
部署星火节点,只需要编写一个配置文件,然后使用compose命令运行即可。 配置文件可以参考这个项目里面的样例,用户可以直接clone下来使用。
启动
# git clone https://github.com/ethnode/compose # cd compose # cp docker-compose-geth.yml docker-compose.yml # # # instance: 用于在dashboard上显示你的节点名 # contact_details: 用于提供本节点的维护者联系方式,通常是邮箱 # docker-compose up -d
首次使用时需要下载镜像,这时需要一点时间,具体根据网络情况而定
升级/降级
用户唯一需要做的就是指明目标版本,修改后重建容器节点即可。
# < 在 docker-compose.yml 文件中修改geth镜像版本 > # docker-compose down # 停止并删除容器 # docker-compose up -d # 重新建立容器
3. 高级用法(可选)
补充说明:借助docker技术,我们可以做一些定制化,同时又避免增加运维的复杂性
docker: 可用于标准化的交付软件应用,fsword目前负责维护三个镜像(geth、parity和stats),以简化用户使用
compose: 即docker-compose,这是docker系相关技术,主要用于将独立的容器关联起来
volume
用户建立星火节点时需要和宿主机目录进行关联,这样,当容器重建时可以保留区块链信息。在docker-compose.yml中, 我们使用 volume 设置宿主机和目标容器之间的映射
缺省的volume配置是这样的:
/data/store/parity:/root/.parity
冒号 :
前半部分是宿主机上的文件夹,用户可以根据实际情况进行设定。
注意:无论parity还是geth,节点的运行是需要较大的磁盘空间的,用户需要确保 volume 所在的文件分区足够大,目前 建议 geth 不小于20G,parity 不小于 50G ,如果是云主机,建议直接挂载一个 100G 的外部磁盘分区
资源使用
某些用户的宿主机上有其它服务,这时需要限制容器所使用的资源,避免干扰其它服务,用户可以在 docker-compose.yml 中添加设置。比如,想要限制容器使用的内存大小可以用 mem_limit :
... ethereum: image: ethnode/geth:1.4.17 volumes: - /data/store/geth:/root/.ethereum mem_limit: 4000000000 ...
这个设置将限制docker容器运行内存,使之不大于4G
更多的限制方式,可以参考这里
本文来自以太坊爱好者
网友评论