一起学习EOS|EOS 3.0 安装、本地节点搭建及命令行程序工具(附代码)

image

1

安 装

相比上个版本, 新版的EOS安装实在太简单了,几乎做到了一键安装,不禁在心中疯狂为EOS开发团队打call ,身为程序员, 能理解这有多么得不容易,在一个安装脚本中,同时兼顾了操作系统的多样性,处理各种依赖库的安装,最终编译出十多个可执行程序。

第一步 下载eos代码

git clone https://github.com/EOSIO/eos --recursive

第二步 进入eos目录, 然后执行一键安装脚本即可

cd eos./eosio_build.sh

执行一键安装脚本,脚本会首先会收集当前电脑上的信息,以及各种依赖包的安装状态。

然后询问你是否安装缺失的依赖, 直接输入1选择yes即可进入下一环节。

image

确认之后,是比较长的安装和编译时间,取决于要安装的依赖的数量和网速以及电脑性能。我大概安装了40分钟。期间部分软件需要输入密码,所以安装过程中需要不时看一下,别走开噢。

安装脚本做的太nice了。编译过程随时都有进度提醒。

image

百分百之后,出现红色的EOSIO,就大功告成啦!

image

2

启动本机单节点测试网络

成功编译安装过后,可以在build目录下找到 programs目录, 那些是编译出来的可执行程序。启动节点,需要用到nodeos, 所以进入到nodeos目录

➜  programs git:(master) ✗ pwd/Users/joe/Workspace/eos/build/programs➜  programs git:(master) ✗ lsCMakeFiles          cleos               eosc                eosio-launcherCTestTestfile.cmake cmake_install.cmake eosd                keosdMakefile            codegen             eosio-abigen        launcherabi_gen             eos-walletd         eosio-applesedemo   nodeos➜  programs git:(master) ✗ cd nodeos➜  nodeos git:(master) ✗ pwd/Users/joe/Workspace/eos/build/programs/nodeos➜  nodeos git:(master) ✗ lsCMakeFiles          Makefile            config.hppCTestTestfile.cmake cmake_install.cmake nodeos

运行 nodes –help 可以查看帮助说明.

要启动本地单节点,只需要执行以下命令:

./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin

启动成功之后,就看到一条新的EOS区块链新建成功的提示信息,并且这个区块链已经开始生成区块了,出块速度,大概算了下,确实如发布会所讲,大概0.5秒出一次,由于还没有任何交易,所以当前打包的区块信息中都是0 trxs .

image

我们安装好了EOS DAWN3.0,并启动了一条本机单节点的EOS区块链,接下来重点放在熟悉EOS的命令行程序和工具。以下提到的所有命令后程序和项目,均是EOS编译安装成功之后生成的,可以在 ./build/programs 目录下找到。

3

命令行程序

nodeos

这是EOS的核心守护进程。运行时可以通过参数,为它配置插件。 我来举个栗子 :

./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin

–plugin后面,就是需要配置的插件名称。

上文中我们就是用这命令,启动了一条本机单节点的EOS区块链。

cleos

如果把nodeos当作服务端的话,cleos就是客户端。

看它们的命名也能理解:

nodeos = node eos
cleos = client eos

cleos 是个命令行工具, 用来和 nodeos所提供的 REST API 进行交互。

既然是 REST API , 那说明 nodeos 必然需要向外暴露一个ip地址跟端口。

cleos作为一个客户端交互工具, 是EOS中最核心的最常用的部分了, 所以有着相当多的子命令和参数:

不带任何参数运行,列出帮助文档:

➜  cleos git:(master) ✗ ./cleos
ERROR: RequiredError: Subcommand required
Command Line Interface to EOSIO Client
Usage: ./cleos [OPTIONS] SUBCOMMAND

Options:
  -h,--help                   Print this help message and exit
  -H,--host TEXT=localhost    the host where nodeos is running
  -p,--port UINT=8888         the port where nodeos is running
  --wallet-host TEXT=localhost
                              the host where keosd is running  --wallet-port UINT=8888     the port where keosd is running
  -v,--verbose                output verbose actions on errorSubcommands:
  version                     Retrieve version information  create                      Create various items, on and off the blockchain  get                         Retrieve various items and information from the blockchain  set                         Set or update blockchain state
  transfer                    Transfer EOS from account to account
  net                         Interact with local p2p network connections  wallet                      Interact with local wallet
  sign                        Sign a transaction
  push                        Push arbitrary transactions to the blockchain

可以看到,子命令有

  • version: 查看版本号

  • create: 创建各种对象,比如account, key, producer

  • get: 获取用create创建的对象的信息

  • set: 一个对区块链的写入操作。比如部署智能合约,修改智能合约。

  • transfer: 就是转账啦,account 与 account之间互转EOS,可以通过此命令。

  • net : (暂时还未了解)

  • wallet: 和本地钱包进行交互

  • sign: 对交易进行签名

  • push: 把各种交易发送到区块链上。

keosd

这是EOS钱包的守护进程。启动这个进程之后,我们可以使用上面的cleos wallet与它进行交互。 进行创建钱包、导入key等操作。

launcher

launcher 是用来创建多节点区块链的。nodeos是用来创建单节点区块链。如果想要搭建多个节点的区块链,则可以通过launcher来配置。

4

命令行工具

eosiocpp

这个命令是从上班版本遗传下来的,不禁觉得亲切, eosiocpp和智能合约有关, 当我们用c++写好智能合约代码以后, 需要用eosiocpp 对c++代码进行编译和转化,生成ABI文件。

本文内容作者:HiBlock区块链社区“一起写笔记”小伙伴——jc1991

原文首发于币乎

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

image

猜你喜欢

转载自blog.csdn.net/HiBlock/article/details/80024395