docker部署以太坊私有链

本文介绍了使用Docker部署以太坊私链的详细步骤,包括生成以太坊私链镜像、创建私链容器,还阐述了以太坊私链相关接口的使用,如进入控制台、创建账户、查看余额、开启和停止挖矿等,可用于区块链功能测试。

一. 以太坊私链镜像生成

  • 下载以太坊基础镜像
docker pull ethereum/client-go:v1.9.24
  • 编写Dockerfile
# vim /opt/docker/images/geth-1.9.24/Dockerfile

FROM ethereum/client-go:v1.9.24
RUN apk update && apk add bash curl
ADD bin /root/bin
RUN chmod a+x /root/bin/*
ENTRYPOINT /root/bin/start.sh
  • 新建存放目录bin
mkdir /opt/docker/images/geth-1.9.24/bin
  • bin目录下编写执行文件
# vim /opt/docker/images/geth-1.9.24/bin/start.sh

#!/bin/bash
set -e

# Init
echo ""
echo "Init geth"
geth init "/root/files/genesis.json"
sleep 3

# Start geth
echo ""
echo "Start geth"
geth --syncmode "full" --networkid=66666 --gasprice "0" --rpc --rpcapi eth,net,web3,miner,txpool --rpcaddr "0.0.0.0" --rpcport "8545" --mine &

sleep 10

while true; do
    sleep 1000000000
done

注:

注意,以上指定了一个名为networkid的参数。这标志着你的以太坊网络的身份。我们在这个例子中使用了66666,应该选择一个随机数来创建你自己的网络并防止其他人无意中连接到你的网络,此ID也必须与下文genesis.json文件中的"chainId"的ID一致

rpcaddr参数,含义为指定rpc服务器地址,如果目前只有这一台矿工发服务器,必须使用0.0.0.0这个地址,不然无法在宿主机外使用curl命令调用rpc远程服务调用协议来查询用户余额

  • 为文件赋予执行权限
chmod +x /opt/docker/images/geth-1.9.24/bin/start.sh
  • 生成以太坊私链镜像
    docker build . -t eth:v1.9.24

注:需要在与Dockerfile同一级目录下执行此命令

二.以太坊私链容器生成

  • 新建需要映射给容器存放数据的目录

注:必须创建,此目录下存放着的是所有在此链上的交易信息

mkdir -p /opt/docker/miner/data/bscchain
  • 新建需要映射给容器存放DAG数据的目录
    注:

必须创建,不然每次启动容器都会先生成DAG数据

mkdir -p /opt/docker/miner/data/ethash
  • 新建创始区块文件

注:非常重要!!!此文件是搭建以太坊私链最重要的文件

# vim /opt/docker/miner/genesis.json

{
  "config": {
    "chainId": 66666,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "ista
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰哥的技术杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值