docker 搭建以太坊私有链搭建
最近区块链,火得不行,身边也有朋友准备玩这个,说是搭了一个星期,没有把环境搭建起来,叫我帮忙看看环境怎么搭建
于是我找到了官方的地址 https://github.com/ethereum/go-ethereum
发现官方是支持docker 的

于是我创建了如下目录
➜ block-chain pwd
/Users/jackluo/Works/block-chain
➜ block-chain ls
ethereum start-ethereum.sh
start-ethereum.sh的内容如下
docker stop ethereum-node
docker rm ethereum-node docker run -d --name ethereum-node -v /Users/jackluo/Works/block-chain/ethereum:/root \
-p : -p : \
ethereum/client-go
docker exec -it ethereum-node /bin/sh
我们把当前的 ethereum目录,挂到了docker 的/root下
我们接下来创建私有链
➜ block-chain cd ethereum
➜ ethereum ls
genesis.json privatechain
我们根据官方的文档 创建 genesis.json文件里面写入
{
"config": {
"chainId": 0,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x20000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
参数的话,具体看文件档
接下来,我们启动以太坊的docker 容器
➜ block-chain ./start-ethereum.sh
Error response from daemon: No such container: ethereum-node
Error response from daemon: No such container: ethereum-node
d421da09e63900d1cc9481529ab2a5868515fb821520b548f10e0bd2f3608c0c
/ #
/ #
/ # ls
bin dev etc home lib media mnt proc root run sbin srv sys tmp usr var
/ # cd /root/
~ # ls
genesis.json privatechain
~ # cd privatechain/
~/privatechain # ls
data0 genesis.json
~/privatechain # pwd
/root/privatechain
~/privatechain #
接下来初始化他
~/privatechain # geth --datadir data0 init genesis.json
INFO [03-06|05:21:40] Maximum peer count ETH=25 LES=0 total=25
INFO [03-06|05:21:40] Allocated cache and file handles database=/root/privatechain/data0/geth/chaindata cache=16 handles=16
INFO [03-06|05:21:40] Persisted trie from memory database nodes=0 size=0.00B time=41.5µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [03-06|05:21:40] Successfully wrote genesis state database=chaindata hash=ed1fb6…1760ca
INFO [03-06|05:21:40] Allocated cache and file handles database=/root/privatechain/data0/geth/lightchaindata cache=16 handles=16
INFO [03-06|05:21:40] Persisted trie from memory database nodes=0 size=0.00B time=10.5µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [03-06|05:21:40] Successfully wrote genesis state database=lightchaindata hash=ed1fb6…1760ca
接下来,启动私有链
~/privatechain # geth --identity "TestNode" --rpc --rpcport "8545" --datadir data0 --port "3033" --nodiscover console
INFO [03-06|05:26:44] Maximum peer count ETH=25 LES=0 total=25
INFO [03-06|05:26:44] Starting peer-to-peer node instance=Geth/TestNode/v1.8.2-unstable-0b814d32/linux-amd64/go1.9.4
INFO [03-06|05:26:44] Allocated cache and file handles database=/root/privatechain/data0/geth/chaindata cache=768 handles=1024
INFO [03-06|05:26:44] Initialised chain configuration config="{ChainID: 1024 Homestead: 0 DAO: <nil> DAOSupport: false EIP150: <nil> EIP155: 0 EIP158: 0 Byzantium: <nil> Constantinople: <nil> Engine: unknown}"
INFO [03-06|05:26:44] Disk storage enabled for ethash caches dir=/root/privatechain/data0/geth/ethash count=3
INFO [03-06|05:26:44] Disk storage enabled for ethash DAGs dir=/root/.ethash count=2
INFO [03-06|05:26:44] Initialising Ethereum protocol versions="[63 62]" network=1
INFO [03-06|05:26:44] Loaded most recent local header number=0 hash=ed1fb6…1760ca td=1024
INFO [03-06|05:26:44] Loaded most recent local full block number=0 hash=ed1fb6…1760ca td=1024
INFO [03-06|05:26:44] Loaded most recent local fast block number=0 hash=ed1fb6…1760ca td=1024
INFO [03-06|05:26:44] Loaded local transaction journal transactions=0 dropped=0
INFO [03-06|05:26:44] Regenerated local transaction journal transactions=0 accounts=0
INFO [03-06|05:26:44] Starting P2P networking
INFO [03-06|05:26:44] RLPx listener up self="enode://3264cbba213bc88c407c55576f148d5c2b6afa5013a7c204085e01c5e4dc24a9235bd9abf86681d0d36349fa8031367c31adb534a469f4ea1e156047bf96befb@[::]:3033?discport=0"
INFO [03-06|05:26:44] IPC endpoint opened url=/root/privatechain/data0/geth.ipc
INFO [03-06|05:26:44] HTTP endpoint opened url=http://127.0.0.1:8545 cors= vhosts=localhost
Welcome to the Geth JavaScript console! instance: Geth/TestNode/v1.8.2-unstable-0b814d32/linux-amd64/go1.9.4
INFO [03-06|05:26:44] Etherbase automatically configured address=0xFc2D11A7A4408b77d95202c0A455cfd44F2A4cFD
coinbase: 0xfc2d11a7a4408b77d95202c0a455cfd44f2a4cfd
at block: 0 (Thu, 01 Jan 1970 00:00:00 UTC)
datadir: /root/privatechain/data0
modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
基本上已经启起来了
其它,参考了下 https://g2ex.github.io/2017/09/12/ethereum-guidance/ 这个
docker 搭建以太坊私有链搭建的更多相关文章
- 转:使用 Go-Ethereum 1.7.2搭建以太坊私有链
使用 Go-Ethereum 1.7.2搭建以太坊私有链 目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底 ...
- Mac环境搭建以太坊私有链
原文地址: 石匠的blog 为了测试以太坊智能合约,最方便的是在本地搭建一个以太坊私有链.在mac上搭建环境主要需要以下步骤. geth安装 geth是go-ethereum的简写,是一个用go语言编 ...
- 使用 Go-Ethereum 1.7.2搭建以太坊私有链
目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球 ...
- 区块链--Ubuntu上搭建以太坊私有链
1.搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:https://githu ...
- 区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..
在做一些测试工作的时候, 为了方便控制以及更快的进入真正的测试工作,可能需要搭建一个私有的以太坊网络. 而以太坊节点之间能够互相链接需要满足1)相同的协议版本2)相同的networkid,所以搭建私有 ...
- CentOS7搭建以太坊私有链
1. 环境准备:Win10 64位安装 VM VirtualBox,操作系统版本: CentOS-7-x86_64-Everything-1611.iso(7.71G). 切换root账号,方便安装程 ...
- Mac搭建以太坊私有链
记录过程与问题 一.安装 以go版本的ethereum进行安装 brew tap ethereum/ethereum brew install ethereum # 如果希望基于ethereum的de ...
- ubuntu系统搭建以太坊私有链
1.安装curl.git apt-get update apt-get install git apt-get install curl 2.安装go curl -O https://storage. ...
- 区块链学习:Windows下搭建以太坊私有链环境
一:安装geth客户端 Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe问价,运行安装即可,下载地址如下: https://github. ...
随机推荐
- Linux 学习 (五) 压缩与解压缩命令
Linux达人养成计划 I 学习笔记 常用压缩格式:.zip | .gz | .bz2 | .tar.gz | .tar.bz2 .zip zip 压缩文件名 源文件:压缩文件 zip -r 压缩文件 ...
- jsp篇 之 基本概念
Jsp概念: 1.jsp是什么 jsp全称Java Server Pages,是一种[动态网页开发技术]. .html文件是静态页面 .jsp 文件是动态页面 jsp页面允许我们在html代码中[嵌入 ...
- 后缀自动机(SAM)学习笔记
目录 定义 SAM 的状态集 一些性质 SAM 的后缀链接 SAM 的转移函数 一些性质 算法构造 构造方法 时间复杂度证明 状态的数量 转移的数量 代码实现 实际应用 统计本质不同的子串个数 计算任 ...
- 【CF1133E】K Balanced Teams(动态规划,单调队列)
[CF1133E]K Balanced Teams(动态规划,单调队列) 题面 CF 让你把一堆数选一些出来分成不超过\(K\)组,每一组里面的最大值和最小值之差不超过\(5\),求最多有多少个人元素 ...
- 为 Java 程序员准备的 Go 入门 PPT
为 Java 程序员准备的 Go 入门 PPT 这是 Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的. 视频 这个 ...
- 【UVA1660】Cable TV Network
题目大意:给定一个 N 个点的无向图,求至少删去多少个点可以使得无向图不连通. 题解:学习到了点边转化思想. 根据网络流的知识可知,一个网络的最小割与网络的最大流相等.不过最小割是图的边集,而本题则是 ...
- RBAC权限管理设计
一.权限简介 1. 问:为什么程序需要权限控制? 答:生活中的权限限制,① 看灾难片电影<2012>中富人和权贵有权登上诺亚方舟,穷苦老百姓只有等着灾难的来临:② 屌丝们,有没有想过为什么 ...
- 【GDOI2016模拟3.16】幂(容斥 + 模型复杂转化)
[GDOI2016模拟3.16]幂 \(X\in[1,A],Y\in[1,B]\),问:\(x^y\)的不用取值个数. \(A,B\)都是\(10^9\)级别. 然后我们开搞. 首先,假设一个合法的\ ...
- 转:centos 7 安装音频视频解码器
(原文:https://blog.csdn.net/zhou1519/article/details/39035233/) 1.安装额外的软件源epel和nux-dextop rpm -Uvh htt ...
- 结合别人的文章,做RocketMQ的一点原理分析,结合源码(尽量)----未完待续
Broker 与Namesrv的关系 1.从namesrv获取配置信息 /** * BrokerConfig类 * * broker每隔30秒(此时间无法更改)向所有nameserver发送心跳,心跳 ...