以太坊go-ethereum客户端docker安装(二)开发(dev)环境搭建
在上一篇博客中,讲述了基于docker怎么搭建一个go-ethereum节点。作为开发人员,如果只是单纯的拥有一个Full node,还无法满足正常的开发。比如说,进行转账交易,你要考虑是否拥有一定的ETC,是否能够承受高昂的gas?基于这点,今天这篇博客就介绍一下如何搭建一个私有的dev环境。
方法一:利用现有开源
先给大家介绍一个现成的ethereum/client-go:test工具镜像。
下载工具
地址:https://github.com/pragmaticcoders/docker-geth-dev
将项目通过zip包下载下来,解压到将要执行docker命令的一个目录下。目录的结构与github上面上的目录结构一样,就不在这里展示了。
构建镜像
执行以下命令,构建镜像,执行的过程中需要特别注意命令最后是有一个“.”的,否则会出现错误:
docker build -t ethereum/client-go:test .
启动镜像
执行以下命令启动镜像:
docker run --name geth -d -p 8110:8110 ethereum/client-go:test
此处需注意自己所使用的端口。
至此一个dev环境搭建完成,其中的三个账户已经被初始化了一定的余额。
配置文件解析
genesis.json文件:
{
"nonce": "0x00006d6f7264656e",
"difficulty": "0x20000",
"mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578",
"coinbase": "0xde1e758511a7c67e7db93d1c23c1060a21db4615",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0x2FEFD8",
"alloc": {
"de1e758511a7c67e7db93d1c23c1060a21db4615": {
"balance": "1000"
},
"27dc8de9e9a1cb673543bd5fce89e83af09e228f": {
"balance": "1100"
},
"d64a66c28a6ae5150af5e7c34696502793b91ae7": {
"balance": "900"
}
}
}
此文件为配置创世块文件。对三个账户进行了初始化金额,分别为1000,1100和900。其中初始化为1000里的为矿工奖励接收账户,随着挖矿会不断增加,你看到时候可能已经不是这个余额了。
下面再简单看一下Dockerfile文件的内容,其实很简单,就是将写好的配置文件cp到docker容器的指定位置。特别需要留意的是端口号,可根据自己的需要进行修改。其他内容请自行阅读分析。
FROM ethereum/client-go
# # our own custom bult geth that mines really fast
# COPY geth /usr/bin/geth
# script that invokes with all those
# command line options
COPY rungeth.docker /usr/bin/rungeth
# these two files and directory of geth state belong together and must be
# kept in sync if changes are ever made
# Note we are taking advantage of Docker's copy-on-mount feature
COPY geth.password /root/geth.password
COPY genesis.json /root/genesis.json
COPY ethereum /root/.ethereum
ENTRYPOINT []
ENTRYPOINT ["/usr/bin/rungeth"]
# RUN ["/usr/bin/rungeth"]
# use non-standard ports so don't accidently connect to real servers
# XXX Docker inheritance doesn't override, it extends the port list...
EXPOSE 8110
EXPOSE 30310
EXPOSE 6110
方法二
此方法为本人自行探索得出,经验证可以使用。
此方法非常简单,只需在执行正常的启动容器命令后面添加“–dev”参数即可。不过此方法不会像上面方法那样创建一批初始化账户,不过可以自行挖矿,进行交易,轻易获得不同金额的账户。
docker run -td -m 512M --memory-swap -1 -p 8545:8545 -p 30303:30303 -v /mnt/docker/dev:/root/.ethereum --name gethDev ethereum/client-go --rpcapi "db,eth,net,web3,personal,admin,miner" --rpc --rpcaddr "0.0.0.0" --cache=512 --dev
以上为本人启动时调整之后的启动命令。
后记
本篇博客就写到这里,如有问题请留言沟通,本人也处于探索阶段,难免有疏漏和浅薄之处,还希望大家共同讨论进步。关注博客,共同进步。
以太坊go-ethereum客户端docker安装(二)开发(dev)环境搭建的更多相关文章
- [中文] 以太坊(Ethereum )白皮书
以太坊(Ethereum ):下一代智能合约和去中心化应用平台 翻译|巨蟹 .少平 译者注|中文读者可以到以太坊爱好者社区(www.ethfans.org)获取最新的以太坊信息. 当中本聪在2009年 ...
- 如何用docker安装laravel开发环境
如何用docker安装laravel开发环境 看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但 ...
- centos 7使用docker安装lnmp和redis环境
#================Docker基础操作========================== #启动docker服务service docker start#搜索可用docker镜像#h ...
- Redash 二开 - 后端环境搭建
Redash 二开 - 后端环境搭建 一.操作系统选择 官方文档有一句话:Windows users: while it should be possible to run Redash on a W ...
- 总结Selenium自动化测试方法(二)测试环境搭建
(接上期内容) 二.测试环境搭建 1.安装python 现在python3.0比python2.0多了一些改进的功能(详见http://zhidao.baidu.com/link?url=3sT1g7 ...
- Openssl的编译安装以及Vs2012上环境搭建教程
Openssl的编译安装以及Vs2012上环境搭建教程 一.Openssl的编译安装 一.准备工作 1.Openssl下载地址:https://www.openssl.org/source/ 2.Ac ...
- 以太坊go-ethereum客户端docker安装(一)
最近一段时间忙于工作,就没来得及发表博客,但一直没有停止对区块链的研究.周末抽时间分享一下近期比较重大的收获之一--使用docker来搭建和使用以太坊的节点.本人已经顺利搭建出,开发环境,测试环境,F ...
- 从零构建以太坊(Ethereum)智能合约到项目实战——第20章 搭建自己的私有链网络
P75 .1-以太坊私网建立 .合约编译.部署完全教程(1) 使用此博文进行安装配置:https://blog.csdn.net/w88193363/article/details/79402074 ...
- c#实战开发:以太坊钱包对接私链 (二)
上一篇讲了 以太坊私链搭建 首先下载Ethereum Wallet 钱包 可以直接百度 下载如果直接打开它会默认连接公链 所以我们要通过命令打开 "F:\Program Files\Ethe ...
随机推荐
- 【POJ1741】Tree(点分治)
[POJ1741]Tree(点分治) 题面 Vjudge 题目大意: 求树中距离小于\(K\)的点对的数量 题解 完全不觉得点分治了.. 简直\(GG\),更别说动态点分治了... 于是来复习一下. ...
- 把lighttpd配置为系统服务
每次启动切换到 /usr/local/lighttpd/sbin 执行 ./lighttpd -f /usr/local/lighttpd/lighttpd.conf 比较麻烦, 而且不方便重新启动! ...
- android ndk 编译的时候指令集的选取
android ndk在编译的时候默认生成的是thumb指令(拇指)不是arm(手臂)指令,但是有时候在看反汇编的时候,不太熟悉thumb指令或者说thumb指令看起来更费劲,需要生成arm指令,这个 ...
- webstorm下搭建编译less环境 以及设置压缩css
webstorm自带less,不过要编译的话需要nodejs环境. 首先去node的主页下载对应版本的nodejs然后安装,下载地址:http://nodejs.org/ 安装完之后打开命令提示符(w ...
- pdf 下载整理
pdf下载整理: using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- windows下MySQL 5.7+ 解压缩版安装配置方法--转载
方法来自伟大的互联网. 1.去官网下载https://dev.mysql.com/downloads/mysql/.zip格式的MySQL Server的压缩包,根据需要选择x86或x64版.注意:下 ...
- Excel 报表导入导出
使用 Excel 进行报表的导入导出,首先下载相关的 jar 和 excel util. Excel Util 下载地址 引入依赖: <!-- poi office --> <dep ...
- 2015/11/2用Python写游戏,pygame入门(2):游戏中的事件和显示
pygame是一个比较大的库,以我这点弱小的实力是没办法详解的.所以我只讲我懂得那些部分,其他部分由大家慢慢查找了解. ------------------------------- 我用pygame ...
- AJAX获取服务器文件
写一个按钮,点击后在指定的div里显示本地txt文件内容 在本地新建一个test.txt,里面随便写点内容就好. <!DOCTYPE html> <html> <head ...
- html跑马灯效果
实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实现,我们在需要出现跑马灯效果的地方插入“<marquee>滚动的文字</marquee>”语句,它的效果如下所示: ...