Narwhal开源项目教程

Narwhal开源项目教程

narwhal Implementation of BFT consensus protocols based on the Narwhal mempool. narwhal 项目地址: https://gitcode.com/gh_mirrors/narwhal5/narwhal

1. 项目介绍

Narwhal是一个基于Rust语言的实现BFT(拜占庭容错)共识协议的开源项目。它使用了Narwhal mempool,旨在提供一个小型、高效且易于基准测试和修改的代码库。该项目由MystenLabs进行生产就绪的改进,并使用真实的密码学(dalek)、网络(tokio)和存储(rocksdb)技术。

2. 项目快速启动

克隆项目

首先,需要克隆Narwhal项目到本地环境:

git clone https://github.com/asonnino/narwhal.git

安装Python依赖

接下来,进入benchmark目录并安装所需的Python依赖:

cd narwhal/benchmark
pip install -r requirements.txt

安装必要工具

需要安装Clang(由rocksdb要求)和tmux(在后台运行所有节点和客户端)。

运行本地基准测试

最后,使用fabric运行本地基准测试:

fab local

请注意,首次运行此命令可能会花费较长时间,因为需要编译Rust代码。

3. 应用案例和最佳实践

阅读相关论文

为了更好地理解Narwhal和Tusk的工作原理,建议阅读以下论文:

  • 《Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus》
  • 《All You Need is DAG》

查看README文件

阅读workerprimary目录下的README文件,以了解如何使用这些模块。

基准测试

在benchmark文件夹的README文件中,有关于如何进行基准测试和解读结果的详细说明。此外,还提供了在Amazon Web Services (AWS)跨多个数据中心进行基准测试的教程。

4. 典型生态项目

目前,Narwhal项目主要使用Rust和Python两种语言,其中Rust占主导地位。在开源生态中,以下是一些与Narwhal相关的项目:

  • Tokio:用于构建异步应用的Rust框架。
  • RocksDB:一个基于C++的嵌入式key-value存储库。
  • Dalek:一个Rust的安全密码学库。

这些项目可以与Narwhal协同工作,共同构建更强大的分布式系统。

narwhal Implementation of BFT consensus protocols based on the Narwhal mempool. narwhal 项目地址: https://gitcode.com/gh_mirrors/narwhal5/narwhal

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

徐含微

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

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

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

打赏作者

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

抵扣说明:

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

余额充值