EOSIO项目:搭建本地单节点测试网络并启用共识协议
eos An open source smart contract platform 项目地址: https://gitcode.com/gh_mirrors/eo/eos
概述
本文将详细介绍如何在EOSIO区块链项目中搭建一个本地单节点测试网络,并启用共识协议功能。这种配置被称为"单主机单节点测试网络(带共识)"。通过本教程,您将在本地计算机上设置一个节点并使其能够生产区块。
准备工作
在开始之前,请确保您已经:
- 完成了EOSIO软件的安装
- 确保
nodeos
、cleos
和keosd
等命令行工具已加入系统PATH环境变量 - 了解如何通过[Nodeos选项]来启用或禁用功能
核心组件说明
在EOSIO系统中,有三个主要组件:
- nodeos:核心节点守护进程,负责区块链的运行
- cleos:命令行工具,用于与账户管理工具交互和向区块链发送操作
- keosd:账户管理守护进程,负责数字签名等操作
详细步骤
第一步:导入开发密钥
EOSIO提供了一个默认的开发密钥,用于测试环境:
cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
这个密钥对应的公钥是EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
,在测试环境中具有超级权限。
第二步:启动生产者节点
使用以下命令启动单节点区块链:
nodeos -e -p eosio \
--plugin eosio::producer_plugin \
--plugin eosio::producer_api_plugin \
--plugin eosio::chain_api_plugin \
--access-control-allow-origin='*' \
--contracts-console \
--http-validate-host=false \
--verbose-http-errors
安全提示:上述命令中的一些参数(如--access-control-allow-origin
)会降低安全性,仅适用于开发环境,切勿在生产环境中使用。
成功启动后,您将看到类似以下的日志输出,表示区块正在被成功生产:
info 2021-01-07T15:59:07.902 thread-0 producer_plugin.cpp:2053 produce_block ] Produced block 98fa5cdd7ce06ae8... #162 @ 2021-01-07T15:59:08.000 signed by eosio [trxs: 0, lib: 161, confirmed: 0]
第三步:预激活协议特性
EOSIO v1.8及后续版本引入的协议升级功能需要先激活PREACTIVATE_FEATURE
特性:
curl --request POST \
--url http://127.0.0.1:8888/v1/producer/schedule_protocol_feature_activations \
-d '{"protocol_features_to_activate": ["0ec7e080177b2c02b278d5088611686b49d739925a92d9bfcacd7fc6b74053bd"]}'
第四步:获取系统智能合约
EOSIO提供了两个更新的系统智能合约:
eosio.boot
:用于激活协议特性eosio.bios
:基础系统合约
您可以选择使用预编译版本或从源代码构建。
第五步:安装eosio.boot系统合约
使用以下命令安装eosio.boot
合约(请替换实际路径):
cleos set contract eosio /path/to/eosio.boot/bin/ eosio.boot.wasm eosio.boot.abi
第六步:激活其他协议特性
安装eosio.boot
后,可以激活其他推荐的协议特性:
# 激活KV数据库功能
cleos push action eosio activate '["825ee6288fb1373eab1b5187ec2f04f6eacb39cb3a97f356a07c91622dd61d16"]' -p eosio
# 激活动作返回值功能
cleos push action eosio activate '["c3a6138c5061cf291310887c0b5c71fcaffeab90d5deb50d3b9e687cead45071"]' -p eosio
# 其他特性激活命令...
第七步:安装eosio.bios系统合约
最后,安装更完整的系统合约:
cleos set contract eosio /path/to/eosio.bios/bin/ eosio.bios.wasm eosio.bios.abi
或者,您可以选择安装功能更全面的eosio.system
合约。
后续步骤
完成单节点测试网络搭建后,您可以进一步探索:
- 搭建多节点测试网络
- 部署自定义智能合约
- 测试各种区块链功能
通过本教程,您已经掌握了EOSIO本地开发环境的基本搭建方法,为后续的智能合约开发和区块链应用测试奠定了基础。
eos An open source smart contract platform 项目地址: https://gitcode.com/gh_mirrors/eo/eos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考