mac 搭建 区块链开发环境

2018/3/22 posted in  Docker

用docker下载ubuntu镜像

# 下载ubuntu镜像
docker pull ubuntu
# 进入镜像中
docker run -it ubuntu /bin/bash
# 查看ubuntu的发行版本
cat /etc/issue

新开一个终端查看

 hushiwei@hsw  ~/Docker  docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
ubuntu                latest              f975c5035748        2 weeks ago         112MB

进入镜像后,即生成了一个容器.更新容易里面的系统

跟新apt-get,安装常用开发工具

apt-get update
apt-get install vim
apt-get install sudo

提高安全意识,添加普通用户

adduser deploy
su deploy

给普通用户sudo权限

# root下执行
chmod 777 /etc/sudoers
vim /etc/sudoers

在/etc/sudoers文件里面添加一行,表示给deploy用户sudo权限,并且不需要密码

把这个文件的权限改回去

chmod 440 /etc/sudoers

在容器中进行区块链环境的搭建

注意:目前为止,我们还没退出容器过.

安装curl,nodejs

sudo apt-get install curl

# 安装nodejs的版本
root@a43d121b81a0:~# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
# 完成后输出
## Run `apt-get install nodejs` (as root) to install Node.js v8.x LTS Carbon and npm

# 然后安装nodejs
apt-get install nodejs

# 查看版本
node -v

npm -v

安装testrpc,truffle

# 安装淘宝镜像,速度快
npm install -g cnpm --registry=https://registry.npm.taobao.org

sudo cnpm install -g ethereumjs-testrpc
# 完成后输入testrpc,进行校验

sudo cnpm install -g truffle

提交安装好环境的容器

在开一个窗口,输入docker ps 找到正在运行的容器的CONTAINER ID
刚刚在这个容器里面安装好了环境,那么我们需要保存一下,所以用docker commit提交这个
容器,成为镜像

docker commit a43d121b81a0 testrpc-truffle-env:v1

提交后,再查看images,比之前的ubuntu大了不少.毕竟装了那么多工具进去了

hushiwei@hsw ~/Docker docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
testrpc-truffle-env v1 a2073b0b64cc 6 minutes ago 503MB
ubuntu latest f975c5035748 2 weeks ago 112MB

退出再进去

现在就算退出运行中的容器,之前安装的工具也都还在了.
执行下面的命令即可进入刚刚提交的镜像中.a2073b0b64cc是刚刚提交的镜像的id

docker run -it a2073b0b64cc /bin/bash

安装idea插件进行开发

在idea的Plugins中安装插件Intellij-Solidity

docker挂载本地目录进行开发

将本地的/Users/hushiwei/BlockChain/ethereum目录,与容器中的/home/deploy进行共享

docker run -it -v /Users/hushiwei/BlockChain/ethereum:/home/deploy a2073b0b64cc /bin/bash

生成truffle代码

在容器的/home/deploy/demo3目录下执行truffle init 生成项目

本机对应的目录也可以看到

用idea打开ethereum目录作为项目.