区块链研习社

EOS quick start

2018-08-22  本文已影响4人  happeace

目的

使用 EOS docker 镜像快速运行,熟悉基本操作, 代币发行和交易。

这里跑的只是一个EOS单节点,没有和EOS测试网络或主网链接,有兴趣的可以自行了解。

前提

安装docker: 从 https://download.docker.com/mac/stable/Docker.dmg 下载后安装后,双击运行。

在Mac menu bar上找到docker运行图标依次找到 Preferences -> Daemon -> Registry mirrors 填入:

https://registry.docker-cn.com , 这样让docker从国内镜像仓库拉取会快一些。

coekr-registry

EOS 概览

运行EOS前,先了解下会涉及到的EOS组成部分:

关系如图所示


overview

运行docker

拉取docker镜像

docker pull eosio/eos-dev

运行:

docker run --rm --name eosio -d -p 8888:8888 -p 9876:9876 -p 8900:8900 -v /tmp/work:/work -v /tmp/eosio/data:/mnt/dev/data -v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev  /bin/bash -c "nodeos -e -p eosio --plugin eosio::producer_plugin --plugin eosio::history_plugin --filter-on=* --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"

检验是否运行

docker ps | grep eosio

输出类似:

feac5002187e eosio/eos-dev "/bin/bash -c 'nodeo…" 8 hours ago Up 8 hours 0.0.0.0:8888->8888/tcp, 0.0.0.0:9876->9876/tcp eosio

或直接访问接口:http://localhost:8888/v1/chain/get_info 能得到区块链信息表示正常运行

docker 镜像名称 可以换为 eosio/eos ,镜像只有两三百MB,eosio/eos-dev镜像有3个多GB。

eosio/eos 运行起来后docker内部会少一些软件,如 curl

~ docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
eosio/eos-dev                              latest              10052b957b65        6 days ago          3.11GB
eosio/eos                                  latest              01b0e8c06b2d        6 days ago          250MB

cleos 命令行工具

cleos 命令行工具可以和EOS区块链交互,可以用于管理钱包wallet。

由于cleos 现在是跑在docker中的,设置cleos命令,以便无需进入到docker中,方便直接在外面执行cleos

alias cleos='docker exec -it eosio /opt/eosio/bin/cleos -u http://localhost:8888'

可以将以上命令放到 ~/.bashrc 文件中 (使用zsh的放到 ~/.zshrc),方便在每次启动命令行工具时自动执行。比如执行:

echo "alias cleos='docker exec -it eosio /opt/eosio/bin/cleos -u http://localhost:8888'" >> ~/.bashrc

source ~/.bashrc

执行 cleos --help 能正常显示帮助信息,表明已成功。

cleos基本操作

合约和交易

启用合约eosio.token ,以此合约发行代币,并做一笔交易。

首先,需要创建一个账户eosio.token 来使用合约eosio.token发行代币

这篇 quick start 还比较浅,可以去 官网 查看EOS介绍。

包括以上的EOS概览、quick start、cleos操作账户和钱包,以及 EOS RPC API (即http接口)等等。

关于钱包 EOS RPC API:

目前在官网上看到在调用 RPC API 交易时,需要使用到钱包的API 如 /v1/wallet/sign_transaction, 但始终没找到钱包 RPC API 的说明。

关于钱包守护进程kesod:

调用 钱包命令(cleos wallet xxxxxx)时,docker 内部会自动启动管理钱包的进程 keosd,其启动的方式是:/opt/eosio/bin/keosd --http-server-address=127.0.0.1:8900

--http-server-address=127.0.0.1:8900 表明该进程的http服务只监听 docker 内部的http请求 (钱包安全性的原因?), 开发时需要外部访问钱包 http RPC 接口的, 可以docker exec -ti eosio bash进入到docker内这样启动:

nohup /opt/eosio/bin/keosd --http-server-address=0.0.0.0:8900 --http-validate-host=false --unlock-timeout=99999999 > keosd.log 2>&1 &

监听所有 IP 来的 http 请求, 且给钱包超时锁定设置了比较长的时间,这样不用频繁去unlock钱包。

上一篇 下一篇

猜你喜欢

热点阅读