EOSIO项目:搭建本地单节点测试网络并启用共识协议

EOSIO项目:搭建本地单节点测试网络并启用共识协议

eos An open source smart contract platform eos 项目地址: https://gitcode.com/gh_mirrors/eo/eos

概述

本文将详细介绍如何在EOSIO区块链项目中搭建一个本地单节点测试网络,并启用共识协议功能。这种配置被称为"单主机单节点测试网络(带共识)"。通过本教程,您将在本地计算机上设置一个节点并使其能够生产区块。

准备工作

在开始之前,请确保您已经:

  1. 完成了EOSIO软件的安装
  2. 确保nodeoscleoskeosd等命令行工具已加入系统PATH环境变量
  3. 了解如何通过[Nodeos选项]来启用或禁用功能

核心组件说明

在EOSIO系统中,有三个主要组件:

  1. nodeos:核心节点守护进程,负责区块链的运行
  2. cleos:命令行工具,用于与账户管理工具交互和向区块链发送操作
  3. 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提供了两个更新的系统智能合约:

  1. eosio.boot:用于激活协议特性
  2. 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合约。

后续步骤

完成单节点测试网络搭建后,您可以进一步探索:

  1. 搭建多节点测试网络
  2. 部署自定义智能合约
  3. 测试各种区块链功能

通过本教程,您已经掌握了EOSIO本地开发环境的基本搭建方法,为后续的智能合约开发和区块链应用测试奠定了基础。

eos An open source smart contract platform eos 项目地址: https://gitcode.com/gh_mirrors/eo/eos

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛曦旖Francesca

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值