EOS开发系列(1):EOS开发环境的搭建和测试

 

我们这个系列文章的目的是希望通过一系列的文章介绍EOS开发的知识,看完这个系列文章完成后,大家能够开发出自己的区块链小程序。

开发EOS Dapp的话,主要有如下的几个步骤:

  1. 安装和配置EOS开发和测试环境
  2. 创建钱包,生成私钥和创建EOS账号
  3. 编写协议代码,编译程序和ABI文件
  4. 部署协议

目前,官方支持的EOS智能协议的编程语言只有C和C++,推荐的测试环境系统只有Linux和Mac OS。所以如果需要学习EOS智能协议的编程,要有一些C/C++的基本知识,以及对Linux操作系统也有一定的了解。当然并不需要对这些知识达到精通的地步,这篇文章会尽量把这个过程写得简单易懂,以便大部分有编程经验的朋友都能够掌握EOS智能协议的编程技术。

官方文档列出EOSIO支持的操作系统如下:

  • Amazon 2017.09 and higher
  • Centos 7
  • Fedora 25 and higher (Fedora 27 recommended)
  • Mint 18
  • Ubuntu 16.04 (Ubuntu 16.10 recommended)
  • Ubuntu 18.04
  • MacOS Darwin 10.12 and higher (MacOS 10.13.x recommended)

我本人推荐的编辑工具包括:Sublime text,VS Code. Sublime Text简单易用,上手快;VS Code功能比较强大,对各种编程语言的支持都不错。

部署开发环境

首先请确保有一个可用的Linux环境,最好不要用虚拟机上的Linux环境,在编译的时候会遇到莫名奇妙的错误。如果只是开发使用的话,为了以最快的速度能够启动这个测试节点,可以直接使用docker封装的eosio系统。

第一步,用户首先需要安装Docker https://www.docker.com/community-edition,然后获得eos-dev的docker容器,这个会获得一个在unbuntu环境下部署的eos

docker pull eosio/eos-dev:v1.3.0

第二步,创建网络

docker network create eosdev

第三步,启动EOS容器,启动测试节点

$ docker run \
  --name nodeos -d -p 8888:8888 \
  --network eosdev \
  -v /tmp/eosio/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 \
    --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"

上面的命令其实是完成测试节点的初始化和启动,加载插件,设置文件夹别名等。

第四步:

运行Keosd(本地命令行钱包和密钥对存储功能)

docker run -d --name keosd --network=eosdev \
-i eosio/eos-dev /bin/bash -c "keosd --http-server-address=0.0.0.0:9876"

第五步:

检查钱包是否顺利生成:

运行nodeos shell,然后检查钱包中的密钥对。

docker exec -it keosd bash
cleos --wallet-url http://127.0.0.1:9876 wallet list keys

通过web api查看本地节点信息:

http://localhost:8888/v1/chain/get_info

第六步:设置docker Cleos的别名:

alias cleos='docker exec -it nodeos /opt/eosio/bin/cleos --url http://127.0.0.1:8888 --wallet-url http://[keosd_ip]:9876'

这样本地节点和钱包的访问就可以直接使用cleos命令了。

你可能感兴趣的:(区块链研究)