#node #substrate #networking #framework

app polkadot

基于Substrate框架在Rust中实现Polkadot节点。 (polkadot v1.15.0)

19个版本 (主要破坏)

新版本 16.0.1 2024年8月14日
16.0.0 2024年7月19日
14.0.0 2024年7月13日
13.0.0 2024年6月24日
0.1.0 2021年5月14日

#1143魔法豆

Download history 122/week @ 2024-05-01 2/week @ 2024-05-15 127/week @ 2024-05-22 9/week @ 2024-05-29 3/week @ 2024-06-05 2/week @ 2024-06-12 114/week @ 2024-06-19 27/week @ 2024-06-26 124/week @ 2024-07-10 144/week @ 2024-07-17 14/week @ 2024-07-24

每月下载量282次

GPL-3.0-only

1MB
1.5K SLoC

Ruby 564 SLoC // 0.0% comments JavaScript 531 SLoC // 0.1% comments Shell 314 SLoC // 0.2% comments RPM Specfile 37 SLoC Rust 26 SLoC // 0.7% comments

Polkadot

基于Substrate框架在Rust中实现https://polkadot.network节点的实现。

README提供了关于安装polkadot二进制文件和在该代码库上进行开发的说明。有关更具体的指南,如如何运行验证节点,请参阅Polkadot Wiki

构建

由于Polkadot节点是基于Substrate的,因此您可以直接从Substrate安装指令中设置您的构建环境。

安装完成后,您将需要构建Polkadot二进制文件。这可以通过运行以下命令来完成:

  • ./build.sh
  • 构建完成后,您将有一个可执行的Polkadot二进制文件,您可以使用以下命令来启动它:

./polkadot

在启动Polkadot节点之前,请确保您已经设置了所有必要的配置。

# Import the [email protected] GPG key
gpg --recv-keys --keyserver hkps://keys.mailvelope.com 9D4B2B6EB8F97156D19669A9FF0812D491B96798
gpg --export 9D4B2B6EB8F97156D19669A9FF0812D491B96798 > /usr/share/keyrings/parity.gpg
# Add the Parity repository and update the package index
echo 'deb [signed-by=/usr/share/keyrings/parity.gpg] https://releases.parity.io/deb release main' > /etc/apt/sources.list.d/parity.list
apt update
# Install the `parity-keyring` package - This will ensure the GPG key
# used by APT remains up-to-date
apt install parity-keyring
# Install polkadot
apt install polkadot

构建完成后,您将有一个可执行的Polkadot二进制文件,您可以使用以下命令来启动它:

./polkadot

启动节点后,您可以通过以下命令查看其状态:

通过Cargo安装

请确保您已从下文中的“从源码构建”部分安装了支持软件。

如果您想在PATH中安装Polkadot,可以使用以下命令:

cargo install --git https://github.com/paritytech/polkadot-sdk --tag <version> polkadot --locked

从源码构建

通过克隆此存储库并在存储库根目录下运行以下命令来构建客户端:

git checkout <latest tagged release>
cargo build --release

注意:如果您想将构建的polkadot二进制文件移动到某个位置(例如,移动到$PATH),您还需要移动polkadot-execute-workerpolkadot-prepare-worker。您可以通过运行以下命令让cargo为您完成所有这些:

cargo install --path . --locked

使用Docker从源码构建

您也可以使用Parity CI docker镜像从源码构建。

git checkout <latest tagged release>
docker run --rm -it -w /shellhere/polkadot \
                    -v $(pwd):/shellhere/polkadot \
                    paritytech/ci-linux:production cargo build --release
sudo chown -R $(id -u):$(id -g) target/

如果您想重现CI过程的其他步骤,可以使用以下指南

网络

此存储库支持Polkadot、Kusama和Westend的运行时。

连接到Polkadot主网

通过运行以下命令连接到全球Polkadot主网网络:

../target/release/polkadot --chain=polkadot

您可以在[遥测](使用--name "my custom name"设置自定义名称)中查看您的节点。

遥测: https://telemetry.polkadot.io/#list/Polkadot

连接到“Kusama”金丝雀网络

通过运行以下命令连接到全球Kusama金丝雀网络:

../target/release/polkadot --chain=kusama

您可以在[遥测](使用--name "my custom name"设置自定义名称)中查看您的节点。

遥测: https://telemetry.polkadot.io/#list/Kusama

连接到Westend测试网

通过运行以下命令连接到全球Westend测试网:

../target/release/polkadot --chain=westend

您可以在[遥测](使用--name "my custom name"设置自定义名称)中查看您的节点。

遥测: https://telemetry.polkadot.io/#list/Westend

获取DOTs

如果您想在Polkadot、Kusama或Westend上做任何事情,那么您需要获取一个账户以及一些DOT、KSM或WND代币。请遵循Wiki上的说明以获取您选择的测试网的代币。

在Polkadot上进行黑客攻击

如果您确实想在Polkadot上进行黑客攻击,可以获取源代码并构建它。请确保您已安装Rust和支持软件。

然后,获取Polkadot源代码

git clone https://github.com/paritytech/polkadot-sdk.git
cd polkadot

然后构建代码。您需要以发布模式(--release)构建以启动网络。仅使用调试模式进行开发(开发测试的编译时间更快)。

cargo build

如果您喜欢,可以运行测试

cargo test --workspace --profile testnet
# Or run only the tests for specified crated
cargo test -p <crate-name> --profile testnet

您可以使用以下命令启动开发链:

cargo run --bin polkadot -- --dev

通过设置以下环境变量,可以运行节点并显示详细的日志:

RUST_LOG=debug RUST_BACKTRACE=1 cargo run --bin polkadot -- --dev

开发

您可以通过运行以下命令在您的机器上运行一个简单的单节点开发“网络”:

cargo run --bin polkadot --release -- --dev

您可以通过前往https://polkadot.js.org/apps并从设置菜单中选择“本地节点”来进行实验。

本地双节点测试网

如果您想本地查看多节点共识算法的工作情况,则可以创建一个本地测试网。您需要打开两个终端。在一个终端中运行

polkadot --dev --alice -d /tmp/alice

在另一个终端中运行

polkadot --dev --bob -d /tmp/bob --bootnodes '/ip4/127.0.0.1/tcp/30333/p2p/ALICE_BOOTNODE_ID_HERE'

确保您将ALICE_BOOTNODE_ID_HERE替换为第一个终端输出的节点ID。

监控

设置Prometheus和Grafana.

设置完成后,您可以查看我们目前维护的Polkadot Grafana仪表板

使用Docker

使用Docker

Shell完成

Shell完成

贡献

贡献指南

贡献指南

贡献者行为准则

行为准则

许可

Polkadot遵循GPL 3.0许可

依赖项

~125–170MB
~3M SLoC