【substrate框架及稳定的substrate节点版本安装】

前提

在window安装的wsl的ubuntu环境下开发

1.设置本地环境

curl https://getsubstrate.io -sSf | bash -s -- --fast

这个脚本将会下载并安装 Rust 开发环境,git 等等。

2.可工作的 Substrate 节点版本和兼容的 Substrate UI(运行一个)

现在你已经在计算机上成功安装了 Substrate 框架,我们可以使用预先配置的模板快速启动自定义 Substrate 节点。

2.1

Substrate 是个快速发展的项目,这意味着可能会不时地引入 breaking changes 。为了改善本教程的开发体验,我们创建了一个稳定的,可工作的 Substrate 节点版本和兼容的 Substrate UI,你将在本教程中使用它们。

git clone --branch v1.0 https://github.com/substrate-developer-hub/substrate-package

substrate-package 仓库包含两个文件夹:

  1. substrate-node-template
  2. substrate-ui

 

 暂时不会涉及到 substrate-ui,但从名字我们就能知道,该文件夹主要包含一份预构建的,由 React 编写的 UI,并且可以被自定义地扩展。

我们将主要在 substrate-node-template 文件夹中工作,该文件夹包含一个最小、可运行的 Substrate 节点程序,我们将开始修改它。

2.2

进入substrate-package目录下,

使用 substrate-package-rename.sh 脚本重命名我们的项目和项目文件夹:

我们可以看到substrate-node-template 文件夹被修改成了appletrace

 

 

2.3 构建我们的预配置节点

 进入刚刚重命名的 appletrace文件夹并构建我们的预配置节点:这个过程可能会花费一段时间

cd appletrace
./scripts/init.sh
./scripts/build.sh
cargo build --release

见下图

 

 

 

 上面的配置无误后,就可以启动节点:

./target/release/appletrace --dev

 还可以看到块的产生

 

 

 3. 使用 Polkadot-JS Apps UI,一个适应你自定义节点的通用用户界面。

git clone https://github.com/polkadot-js/apps/
git checkout 38eebe
yarn && yarn start

 

进入substrate-package文件夹中,拉下polkadot项目

 

 

 文件目录如下:

 

 

 

运行该项目

 

 

 访问项目界面 http://localhost:3000/

 

 

 

要将 UI 指向 local node,你需要调整 设置,只需从下拉列表中选择 'Local Node (127.0.0.1:9944)':

Settings > remote node/endpoint to connect to > Local Node (127.0.0.1:9944)

 

 

 

点击 Save and Reload 后,你应该注意到 Polkadot-JS Apps UI 刷新成功。请注意,你应该在浏览 Polkadot UI 前输入 ./target/substratekitties --dev,启动并运行你的链。

请注意,稍后我们将在 Section 1 > Viewing a Structure 的 "Registering a Custom Struct" 一节中导入带有其它类型定义的 JSON 文件。

让我们进入 Transfer 页面并进行交易。名为 "Alice" 的默认帐户预先存储了大量的 Units

通过发送交易与 "Bob" 分享一些。你应该会在交易完成时看到确认信息,并且 Bob 的余额也会更新

 

 

 到这里,你已经看到了我们创建、运行并且与我们自己的本地 Substrate 链进行交互的整个过程是有多么快速。

4.常见模式

 

Rust编译器

使用强类型编程语言(如 Rust)的众多优点之一是,编译器十分有用并且会对代码中出现的错误提供修复建议。通过这篇文章来学习更多内容,关于Rust编译器如何帮助你。当然你还需要学习Rust,参考Rust 官方书籍

 

更新Runtime

开始创建自定义Substrate runtime之前,可以帮助你迭代和运行代码的模式。

Substrate runtime代码被编译为两个版本

  • WebAssembly(Wasm) image
  • 标准可执行文件

Wasm文件被用来编译二进制文件的一部分,因此在构建可执行文件之前需要先编译Wasm image。

./scripts/build.sh               // 构建 Wasm
cargo build --release    // 构建 binary

 

 

 

此外,当你对节点进行更改时,之前旧版本节点生成的块仍然存在。你可能会注意到,当重启节点时,块只会从中断处继续生成。

但是,如果你对 runtime 的改动内容很多,那么可能需要使用以下命令清除链上先前所有的块:

 

 

 完成所有这些后,你将能够再次启动带有最近更改的节点:

./target/release/substratekitties --dev

 

 

基于 Substrate 开发时,你应该总是使用最新的 Rust stable 和 nightly 版本。

我们在 build.sh 所在的目录中提供了另一个脚本,你应该在每次启动一个新项目时运行它:

./scripts/init.sh

此脚本只是简单更新 Rust 版本和相关工具。确保你没有奇怪的编译错误。

 

posted @   MintMin  阅读(277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示