最近两天,想学下EOS DAPP是怎么开发出来的,怎么发行一个基于EOS的Token,然后就从官方的Start Here开始学习。今天,刚好在此做个笔记总结。
一、搭建开发环境
第一步,安装Docker,下载镜像
我们需要先下载Docker,然后拉取镜像。这个镜像是Ubuntu环境,已经编译好我们所需要的软件。
$ docker pull eosio/eos:v1.3.2
第二步,启动节点和钱包
创建contracts
目录,后面我们写的合约代码都在此目录中。
$ mkdir contracts
$ cd contracts
$ pw # 输出/Users/liuchungui/Sites/test/eos/contracts
在Docker中运行前面下载的镜像eosio
,将contracts
目录挂载到Docker容器中。
$ docker run --name eosio \
--publish 7777:7777 \
--publish 127.0.0.1:5555:5555 \
--volume /Users/liuchungui/Sites/test/eos/contracts:/Users/liuchungui/Sites/test/eos/contracts \
--detach \
eosio/eos \
/bin/bash -c \
"keosd --http-server-address=0.0.0.0:5555 & exec nodeos -e -p eosio --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_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:7777 --access-control-allow-origin=* --contracts-console --http-validate-host=false --filter-on='*'"
第三步,检查安装
1、检查Nodeos正在生成的块
docker logs --tail 10 eosio
会输出类似下面一样的日志
info 2018-10-21T15:04:40.001 thread-0 producer_plugin.cpp:1490 produce_block ] Produced block 00049b97666265a5... #301975 @ 2018-10-21T15:04:40.000 signed by eosio [trxs: 0, lib: 301974, confirmed: 0]
info 2018-10-21T15:04:40.505 thread-0 producer_plugin.cpp:1490 produce_block ] Produced block 00049b988a3d64b8... #301976 @ 2018-10-21T15:04:40.500 signed by eosio [trxs: 0, lib: 301975, confirmed: 0]
info 2018-10-21T15:04:41.002 thread-0 producer_plugin.cpp:1490 produce_block ] Produced block 00049b996310f998... #301977 @ 2018-10-21T15:04:41.000 signed by eosio [trxs: 0, lib: 301976, confirmed: 0]
info 2018-10-21T15:04:41.501 thread-0 producer_plugin.cpp:1490 produce_block ] Produced block 00049b9a65a6904f... #301978 @ 2018-10-21T15:04:41.500 signed by eosio [trxs: 0, lib: 301977, confirmed: 0]
2、检查钱包
运行下面命令,进入eosio的shell页面
docker exec -it eosio bash
然后在此shell页面输入下面命令
cleos --wallet-url http://127.0.0.1:5555 wallet list keys
会输出下面内容
Wallets:
[]
Error 3120006: No available wallet
Ensure that you have created a wallet and have it open
然后输入exit
退出。
3、检查Nodeos endpoints
输入下面命令,就可以检查RPC API正确的工作
curl http://localhost:7777/v1/chain/get_info
第四步,Aliasing Cleos
我们现在使用Nodeos
或Keosd
进行交互时,都需要进入Docker的shell命令行。这样很不方面,所以我们输入下面命令,这样我们就可以直接在自己的终端输入命令进行交互了。
alias cleos='docker exec -it eosio /opt/eosio/bin/cleos --url http://127.0.0.1:7777 --wallet-url http://127.0.0.1:5555'
如果是Linux系统,你可以把它放入.bash_rc
;若是Mac系统,则放入.profile
文件中,这样就开机自启动了。
第五步,很有用的Docker命令
记住下面命令,它非常有用。
1、启动/关闭 Docker容器
docker start eosio
docker stop eosio
2、执行下面命令,进入Docker容器的shell界面
docker exec -it eosio bash
3、删除EOSIO容器
docker rm eosio
总结
搭建环境过程中,遇到过一个问题,那就是我拉取docker镜像不是当前的v1.3.2,最后导致版本不一致,后面的代码跑不通。
网友评论