概述
EOS包含一组应用程序,几个主要的组件:
- nodeos 服务端区块链节点组件
- cleos 命令行接口,用于与区块链交互和对钱包进行管理
- keosd 用于管理EOSIO钱包的组件
安装
硬件需求
- 8G内存
- 20G可用硬盘
在开始安装之前先检查是否符合硬件要求,我第一次编译应为硬盘空间不够失败了。
下载源码
首先从github 下载EOS的源码
git clone https://github.com/EOSIO/eos --recursive
源码编译
下载完成的源码根目录包含编译脚本,我们可以直接执行
cd eos
./eosio_build.sh
安装完成后的测试脚本
# 启动mongoDB
/usr/local/bin/mongod -f /usr/local/etc/mongod.conf &
# 运行测试
cd build
make test
安装可执行文件
# 生成全局命令,写入/usr/local
cd build
sudo make install
启动单个节点的本地Testnet
至此EOS安装就已经完成了,我比较顺利,大概花了2个多小时。现在我们来启动一个本地节点测试下。
nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin
nodeos 配置文件路径 ~/Library/Application\ Support/eosio/nodeos/config/,包括两个文件:
- config.ini 启动配置文件
- genesis.json 创世文件
如果启动时不存在配置文件,nodeos会生成默认配置文件。生成配置文件后可以 Ctrl-C
停止nodeos的运行。接下来我们对配置文件做一些修改。
修改配置文件
nodeos的配置既可以像上面一样以命令行参数的方式加载,也可以通过配置文件加载。我们将刚刚命令行中的参数,通过修改config.ini文件来加载
# Load the testnet genesis state, which creates some initial block producers with the default key
genesis-json = "genesis.json"
# Enable production on a stale chain, since a single-node test chain is pretty much always stale
enable-stale-production = true
# Enable block production with the testnet producers
producer-name = eosio
# Load the block producer plugin, so you can produce blocks
plugin = eosio::producer_plugin
# Wallet plugin
plugin = eosio::wallet_api_plugin
# As well as API and HTTP plugins
plugin = eosio::chain_api_plugin
plugin = eosio::http_plugin
# This will be used by the validation step below, to view account history
plugin = eosio::account_history_api_plugin
现在可以直接用命令启动了
nodeos
nodeos 运行时会生成两类数据文件,共享内存文件和日志文件。
文件目录:~/Library/Application\ Support/eosio/nodeos/data
好了,今天完成了eos的下载、编译和基本运行。
这里的所有内容都是基于Mac OS系统的,其它系统会有些差别,可参见官方文档。