Nodeos 使用之本地单节点测试网络
Goal
本节介绍如何设置在单个主机上运行的单节点区块链配置。这称为单主机、单节点testnet。我们将在您的本地计算机上设置一个节点,并让它生成块。下图描述了所需的单主机testnet。
cleos
用于管理钱包、管理帐户和调用区块链上的操作。keosd
执行钱包管理,包括数字签名。如果没有显式启动,keosd
默认由cleos
启动。
Before you begin
- 开始本章节前 安装 EOSIO .
- 假设
nodeos
,cleos
, 和keosd
都可以正常访问. 如果EOSIO是通过脚本构建的,确保运行安装脚本 Install Script. - 明确如何通过 Nodeos options 选项启用/禁用功能.
Steps
打开终端窗口,执行一下命令:
Start the Producer Node
使用以下命令启动您自己的单节点区块链:
nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin
Nodeos最小选项
块生产的最小
nodeos
实例设置需要具有-e选项(启用过时生产)和-p eosio选项(生产者名称eosio)的chain_api_plugin
和history_api_plugin
。或者,您也可以设置并指定自己的帐户作为生产者名称。在运行
nodeos
之后,您应该得到如下所示的日志消息。这意味着这些块被成功地生产出来了。1575001ms thread-0 chain_controller.cpp:235 _push_block ] initm #1 @2017-09-04T04:26:15 | 0 trx, 0 pending, exectime_ms=0 1575001ms thread-0 producer_plugin.cpp:207 block_production_loo ] initm generated block #1 @ 2017-09-04T04:26:15 with 0 trxs 0 pending 1578001ms thread-0 chain_controller.cpp:235 _push_block ] initc #2 @2017-09-04T04:26:18 | 0 trx, 0 pending, exectime_ms=0 1578001ms thread-0 producer_plugin.cpp:207 block_production_loo ] initc generated block #2 @ 2017-09-04T04:26:18 with 0 trxs 0 pending ... eosio generated block 046b9984... #101527 @ 2018-04-01T14:24:58.000 with 0 trxs eosio generated block 5e527ee2... #101528 @ 2018-04-01T14:24:58.500 with 0 trxs ...
在这一点上,
nodeos
只和一个制作人eosio
合作。Get Node Info
获取有关生成节点的信息:
cleos get info
这将生成类似于以下内容的输出:
{ "server_version": "0f9df63e", "chain_id": "cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f", "head_block_num": 134, "last_irreversible_block_num": 133, "last_irreversible_block_id": "00000085060e9872849ef87bef3b19ab07de9faaed71154510c7f0aeeaddae2c", "head_block_id": "000000861e3222dce1c7c2cfb938940d8aac22c816cc8b0b89f6bf65a8ad5bdc", "head_block_time": "2019-11-18T22:13:10.500", "head_block_producer": "eosio", "virtual_block_cpu_limit": 228396, "virtual_block_net_limit": 1197744, "block_cpu_limit": 199900, "block_net_limit": 1048576, "server_version_string": "v2.0.0-rc2", "fork_db_head_block_num": 134, "fork_db_head_block_id": "000000861e3222dce1c7c2cfb938940d8aac22c816cc8b0b89f6bf65a8ad5bdc", "server_full_version_string": "v2.0.0-rc2-0f9df63e1eca4dda4cb7df30683f4a1220599444" }
Advanced Steps
更高级的用户可能需要修改配置。nodeos
使用自定义配置文件夹。此文件夹的位置由系统决定。
- Mac OS:
~/Library/Application\ Support/eosio/nodeos/config
- Linux:
~/.local/share/eosio/nodeos/config
生成将使用默认的genesis.json
文件。可以使用nodeo
s的--config-dir
命令行参数指定配置文件夹。如果使用此选项,则需要手动复制genesis.json
文件到配置文件夹。
为了正常运行nodeos
需要一份正确配置的config.ini
文件。启动时,nodeos
在config文件夹中查找config.ini
. 如果找不到,则创建默认config.ini
文件。如果你还没有准备好的config.ini
文件,运行nodeos,然后立即用Ctrl-C关闭它。默认配置(config.ini
)将在配置文件夹中创建。编辑config.ini
文件,将以下设置添加/更新为已存在的默认设置:
# config.ini:
# 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
# As well as API and HTTP plugins
plugin = eosio::chain_api_plugin
plugin = eosio::http_plugin
plugin = eosio::history_api_plugin
现在应该可以运行nodeos
并看到它开始生成块。
nodeos
nodeos
将运行时数据(例如,共享内存和日志内容)存储在自定义数据文件夹中。此文件夹的位置由系统决定。
- Mac OS:
~/Library/Application\ Support/eosio/nodeos/data
- Linux:
~/.local/share/eosio/nodeos/data
可以使用nodeos
的--data-dir
命令行参数指定数据文件夹。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 irvin.em@live.com。
文章标题:Nodeos 使用之本地单节点测试网络
文章字数:962
本文作者:dino
发布时间:2020-06-05, 00:41:32
最后更新:2020-06-05, 11:23:47
原始链接:https://blog.walkbc.com/2020/06/05/EOS-Nodeos-Usage-Local-Single-Node-Testnet/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。
QQ交流群:273078549