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),仅供参考

资源下载链接为: https://pan.quark.cn/s/ddc62c5d4a5d Windows Mobile 是微软在 0200 年代至 2010 年代初推出的移动操作系统,曾广泛应用于智能手机和平板电脑。开发者可以借助各种库和框架为其开发功能丰富的应用,其中 “32feet.NET” 是一个开源的 .NET 库,专为 .NET Framework 和 .NET Compact Framework 提供蓝牙开发支持。它包含多个命名空间,例如 InTheHand.Devices.Bluetooth、InTheHand.Net.Personal 和 InTheHand.Phone.Bluetooth,用于实现蓝牙设备交互功能。 InTheHand.Devices.Bluetooth 命名空间用于执行基础蓝牙操作,比如扫描附近设备、建立连接以及发现蓝牙服务等。InTheHand.Net.Personal 提供了更高级的功能,例如创建个人区域网络(PAN)、文件传输和串行端口模拟,便于开发者开发跨设备的数据共享应用。而 InTheHand.Phone.Bluetooth 主要针对 Windows Phone 平台,支持蓝牙配对、消息收发和蓝牙耳机控制等功能,不过由于 Windows Mobile 已停止更新,该命名空间更多适用于旧设备或项目。 压缩包中的文件列表看似是维基页面的渲染文件,可能是关于 32feet.NET 的使用教程、API 参考或示例代码。文件名如 13632.html、563803.html 等可能是页面 ID,涵盖蓝牙设备搜索、连接和数据传输等不同主题。 使用 32feet.NET 进行蓝牙开发时,开发者需要注意以下几点:首先,确保开发环境已安装 .NET Framework 或 .NET Compact Framework,以及 32feet.NET
资源下载链接为: https://pan.quark.cn/s/d8a2bf0af1ac Mask R-CNN 是一种在实例分割任务中表现优异的深度学习模型,它融合了 Faster R-CNN 的目标检测功能和 CNN 的像素级分类能力,能够实现图像中每个目标的定位、识别与分割。本指南将指导你如何使用 Mask R-CNN 训练自定义数据集。 你需要准备包含图像(JPEG 或 PNG 格式)和标注文件(XML 或 JSON 格式)的数据集,标注文件需包含物体类别、坐标和掩模信息。数据集应按照 COCO 标准组织,分为训练集、验证集和可选的测试集。可以使用工具如 COCO API 或 labelme 将原始数据转换为 COCO 格式,并确保图像文件名与标注文件名一致且在同一目录下。通常按 8:2 或 9:1 的比例划分训练集和验证集。 从提供的压缩包中安装所需库。运行 pip install -r requirements.txt 安装依赖,包括 TensorFlow、Keras、Cython、COCO API 等。 修改 train_test.py 和 test_model.py 中的路径,使其指向你的数据集目录,确保 ROOT_DIR 指向数据集根目录,ANNOTATION_DIR 指向标注文件所在目录。在 config.py 中根据硬件资源和训练目标调整学习率、批大小、迭代次数等参数。 运行 train_test.py 开始训练。训练时会加载预训练权重并进行微调,期间会定期保存模型,便于评估和恢复。 使用 test_model.py 或 test.py 对模型进行验证和测试。这些脚本会加载保存的模型权重,将其应用于新图像并生成预测结果。 预测结果为二进制掩模,需进一步处理为可读图像。可借助 COCO API 或自定义脚本将掩模合并到原始图像上,生成可视化结果。 若模型性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

尚榕芯Noelle

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

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

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

打赏作者

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

抵扣说明:

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

余额充值