Shardeum项目本地开发环境搭建指南

Shardeum项目本地开发环境搭建指南

shardeum Shardeum is an EVM based autoscaling blockchain shardeum 项目地址: https://gitcode.com/gh_mirrors/sh/shardeum

前言

Shardeum是一个创新的区块链项目,采用分片技术实现高吞吐量和可扩展性。对于开发者而言,搭建本地开发环境是参与项目贡献的第一步。本文将详细介绍如何在本地搭建Shardeum开发环境,包括必要的工具链安装、项目配置以及网络运行等关键步骤。

环境准备

在开始之前,请确保您的操作系统满足以下基本要求:

  • Linux或macOS系统(推荐使用Ubuntu 20.04+或macOS 12+)
  • 至少8GB内存
  • 20GB可用磁盘空间
  • 稳定的网络连接

工具链安装

Node.js环境配置

Shardeum项目要求特定的Node.js版本(18.19.1)和npm版本(10.2.4)。我们建议使用Node Version Manager(NVM)来管理Node.js版本。

  1. 安装NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  1. 配置NVM环境变量:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
  1. 安装并切换至指定Node.js版本:
nvm install 18.19.1
nvm use 18.19.1

Rust工具链安装

Shardeum的部分组件使用Rust编写,需要安装Rust工具链:

  1. 安装Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. 配置Rust环境:
source "$HOME/.cargo/env"
  1. 安装指定Rust版本:
rustup install 1.74.1
rustup default 1.74.1

构建工具安装

根据操作系统不同,需要安装相应的构建工具:

Linux系统:

sudo apt-get install build-essential

macOS系统:

brew install gcc

Node-gyp配置

Node-gyp是Node.js的本地插件构建工具,需要正确配置:

  1. 全局安装node-gyp:
npm i -g node-gyp
  1. 设置Python路径:
npm config set python `which python3`
  1. 验证配置:
npm config list

项目设置

  1. 获取项目代码:
git clone https://github.com/shardeum/shardeum.git
cd shardeum
  1. 安装项目依赖:
npm ci
  1. 编译项目:
npm run prepare
  1. 安装Shardus CLI工具:
npm install -g @shardeum-foundation/tools-shardus-cli
npm update @shardeum-foundation/archiver

网络配置

Shardeum本地网络支持两种配置模式:自动模式和手动模式。

自动模式配置

应用预配置的补丁文件快速设置:

git apply debug-10-nodes.patch

手动模式配置

  1. 修改调试模式设置(src/config/index.ts):
forceBogonFilteringOn: false,
mode: 'debug'
  1. 调整标志位(src/shardeum/shardeumFlags.ts):
txBalancePreCheck: false,
StakingEnabled: false
  1. 优化本地测试参数:
// src/config/index.ts
cycleDuration: 30,
server/features/tickets/updateTicketListTimeInMs: 300000

// src/shardeum/shardeumFlags.ts
blockProductionRate: 3,
  1. 重新编译项目:
npm run prepare

运行本地网络

启动包含10个节点的Shardeum本地网络:

shardus start 10

停止与清理

当完成开发测试后,可以停止网络并清理资源:

shardus stop && shardus clean && rm -rf instances

常见问题解决

  1. Node.js版本不匹配:确保使用nvm管理Node.js版本,并严格遵循版本要求。

  2. Rust编译错误:检查Rust版本是否为1.74.1,并确保cargo环境变量已正确加载。

  3. 网络启动失败:检查端口冲突,确保18000-18010端口未被占用。

  4. 依赖安装问题:尝试删除node_modules目录后重新执行npm ci

最佳实践建议

  1. 使用虚拟环境或容器技术隔离开发环境,避免与其他项目冲突。

  2. 定期更新项目依赖,但注意保持核心依赖版本不变。

  3. 开发过程中建议启用调试日志,便于问题排查。

  4. 对于长期开发,可以考虑配置IDE的调试环境,提高开发效率。

通过本文的指导,您应该能够成功搭建Shardeum的本地开发环境。如果在过程中遇到任何问题,建议查阅项目文档或加入社区讨论获取帮助。

shardeum Shardeum is an EVM based autoscaling blockchain shardeum 项目地址: https://gitcode.com/gh_mirrors/sh/shardeum

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

尚榕芯Noelle

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

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

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

打赏作者

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

抵扣说明:

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

余额充值