本文基于EOS 1.1.0版本官方Docker镜像
1.安装Docker CE
低版本Docker不行,官方要求17.0或以上版本。
(如果使用老版本安装,会遇到权限不足的错误。
cp: cannot create regular file '/opt/eosio/bin/data-dir/config.ini': Permission denied
cp: cannot create directory '/opt/eosio/bin/data-dir/contracts': Permission denied)
Docker Docker 17.05 or higher is required
docker-compose version >= 1.10.0
先卸载原来安装的版本
sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine
安装Docker CE的依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
安装Docker CE仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装Docker CE
sudo yum install docker-ce
设置国内Docker镜像库加速
sudo sh -c "echo '{\"registry-mirrors\": [\"https://registry.docker-cn.com\"]}' > /etc/docker/daemon.json"
启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
2.下载并运行eos镜像
sudo docker run --name nodeos -v /root/eos-data:/opt/eosio/bin/data-dir -p 8888:8888 -p 9876:9876 -t eosio/eos nodeosd.sh -e --http-alias=nodeos:8888 --http-alias=192.168.12.133:8888 --http-alias=localhost:8888 arg1 arg2
黄色部分改为本机的IP。红色部分改为本机数据存储的路径,存储智能合约和config.ini配置文件。
开发版
docker run --rm --name eosio-dev -p 8888:8888 -p 9876:9876 -v /root/eosio-dev/work:/work -v /root/eosio-dev/eosio/data:/mnt/dev/data -v /root/eosio-dev/eosio/config:/mnt/dev/config eosio/eos-dev:v1.1.6 /bin/bash -c "nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:8888 --access-control-allow-origin=* --contracts-console --http-validate-host=false"
ctrl+c关掉docker执行过程显示后,可使用下面语句继续显示
docker logs -f nodeos
开启钱包的容器
sudo docker run --name keosd -v /root/eosio/data:/opt/eos/bin/data-dir -v /root/eosio/wallet:/root/eosio-wallet -p :8900:8900 -t eosio/eos /opt/eosio/bin/keosd --wallet-dir /opt/eos/bin/data-dir --http-server-address=127.0.0.1:8900
开启防火墙
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --reload
进入镜像操作
docker exec -it nodeos /bin/bash
ok,到这里服务已经起来了。nodeos已经可以启动了。
3.验证
使用浏览器查看信息
下一步开发开发简单的智能合约。
TODO:
1.钱包及账户创建,权限简要介绍
2.简单智能合约开发
3.配置文件解析
4.EOS集群部署
5.主链交互