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版本。
- 安装NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- 配置NVM环境变量:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
- 安装并切换至指定Node.js版本:
nvm install 18.19.1
nvm use 18.19.1
Rust工具链安装
Shardeum的部分组件使用Rust编写,需要安装Rust工具链:
- 安装Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- 配置Rust环境:
source "$HOME/.cargo/env"
- 安装指定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的本地插件构建工具,需要正确配置:
- 全局安装node-gyp:
npm i -g node-gyp
- 设置Python路径:
npm config set python `which python3`
- 验证配置:
npm config list
项目设置
- 获取项目代码:
git clone https://github.com/shardeum/shardeum.git
cd shardeum
- 安装项目依赖:
npm ci
- 编译项目:
npm run prepare
- 安装Shardus CLI工具:
npm install -g @shardeum-foundation/tools-shardus-cli
npm update @shardeum-foundation/archiver
网络配置
Shardeum本地网络支持两种配置模式:自动模式和手动模式。
自动模式配置
应用预配置的补丁文件快速设置:
git apply debug-10-nodes.patch
手动模式配置
- 修改调试模式设置(
src/config/index.ts
):
forceBogonFilteringOn: false,
mode: 'debug'
- 调整标志位(
src/shardeum/shardeumFlags.ts
):
txBalancePreCheck: false,
StakingEnabled: false
- 优化本地测试参数:
// src/config/index.ts
cycleDuration: 30,
server/features/tickets/updateTicketListTimeInMs: 300000
// src/shardeum/shardeumFlags.ts
blockProductionRate: 3,
- 重新编译项目:
npm run prepare
运行本地网络
启动包含10个节点的Shardeum本地网络:
shardus start 10
停止与清理
当完成开发测试后,可以停止网络并清理资源:
shardus stop && shardus clean && rm -rf instances
常见问题解决
-
Node.js版本不匹配:确保使用nvm管理Node.js版本,并严格遵循版本要求。
-
Rust编译错误:检查Rust版本是否为1.74.1,并确保cargo环境变量已正确加载。
-
网络启动失败:检查端口冲突,确保18000-18010端口未被占用。
-
依赖安装问题:尝试删除node_modules目录后重新执行
npm ci
。
最佳实践建议
-
使用虚拟环境或容器技术隔离开发环境,避免与其他项目冲突。
-
定期更新项目依赖,但注意保持核心依赖版本不变。
-
开发过程中建议启用调试日志,便于问题排查。
-
对于长期开发,可以考虑配置IDE的调试环境,提高开发效率。
通过本文的指导,您应该能够成功搭建Shardeum的本地开发环境。如果在过程中遇到任何问题,建议查阅项目文档或加入社区讨论获取帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考