相比上个版本, 新版的EOS安装实在太简单了,几乎作到了一键安装,不由在心中疯狂为EOS开发团队打call ,身为程序员, 能理解这有多么得不容易,在一个安装脚本中,同时兼顾了操做系统的多样性,处理各类依赖库的安装,最终编译出十多个可执行程序。node
第一步 下载eos代码c++
git clone https://github.com/EOSIO/eos --recursive
第二步 进入eos目录, 而后执行一键安装脚本便可git
cd eos./eosio_build.sh
执行一键安装脚本,脚本会首先会收集当前电脑上的信息,以及各类依赖包的安装状态。程序员
而后询问你是否安装缺失的依赖, 直接输入1选择yes便可进入下一环节。github
确认以后,是比较长的安装和编译时间,取决于要安装的依赖的数量和网速以及电脑性能。我大概安装了40分钟。期间部分软件须要输入密码,因此安装过程当中须要不时看一下,别走开噢。api
安装脚本作的太nice了。编译过程随时都有进度提醒。网络
百分百以后,出现红色的EOSIO,就大功告成啦!app
成功编译安装事后,能够在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 .
咱们安装好了EOS DAWN3.0,并启动了一条本机单节点的EOS区块链,接下来重点放在熟悉EOS的命令行程序和工具。如下提到的全部命令后程序和项目,均是EOS编译安装成功以后生成的,能够在 ./build/programs 目录下找到。
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来配置。
eosiocpp
这个命令是从上班版本遗传下来的,不由以为亲切, eosiocpp和智能合约有关, 当咱们用c++写好智能合约代码之后, 须要用eosiocpp 对c++代码进行编译和转化,生成ABI文件。
本文内容做者:HiBlock区块链社区**“一块儿写笔记”**小伙伴——jc1991
原文首发于币乎
如下是咱们的社区介绍,欢迎各类合做、交流、学习:)