LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 教程|创建你的第一条 Substrate 区块链

教程|创建你的第一条 Substrate 区块链

2020-05-14 PolkaWorld 来源:火星财经

导语

在本教程中,你将学习编译和启动预先写好的 Substrate 链,将该链用作加密货币,并使用通用的 Substrate 用户界面与之交互。

本教程针对的是以前从未接触过 Substrate 的人,希望对 Substrate 的所有内容有一个基本而快速的了解。我们不会深入探讨在 Substrate 上开发的复杂性,但希望能满足你的好奇心,让你继续这段旅程。

本教程大约需要 1 小时才能完成。我们将编译 Rust 代码,但你不需要成为 Rust 程序员来完成本指南。我们为你提供工作代码并解释如何使用它。

我们只希望你:

熟悉软件开发和使用终端

熟悉区块链和智能合约平台

愿意学习区块链开发的前沿技术

如果你在本教程中遇到问题,我们会提供帮助!你可以创建一个新的 issue [1]或在 Riot [2]中联系我们。你将做什么

在开始之前,我们先列出在本教程中需要做的事情:

设置你的电脑使之能在 Substrate 上开发

使用模板立即开始运行 Substrate

使用通用的用户界面与我们的区块链进行交互

在用户帐户之间进行转账

听起来很有道理吧?很好,那我们开始吧!

通常我们会教你更多关于 Substrate 区块链开发框架的知识,但是,为 Substrate 开发设置计算机可能需要一段时间。

为了节省时间,你可以先进行安装。在下一节中,所有东西都编译好之后,你将了解更多有关 Substrate 和我们正在构建的东西。

设置好你的计算机先决条件

要在 Substrate 上开发,你的计算机需要一些先决条件来建立开发环境。“

设置你的计算机可能是本教程中最困难的部分,所以不要因此而气馁。Substrate 开发

如果你使用的是基于 Unix 的计算机(Linux、MacOS),我们创建了一个简单的一行代码来为你安装所有这些先决条件:

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

如果在运行此脚本之前未安装 Rust,请确保在继续之前添加 restart 终端(脚本输出的最后一行中给出的命令)。

如果你想了解这个脚本的具体功能,请访问:https://getsubstrate.io

该脚本会自动安装:

CMake[3]

pkg-config[4]

OpenSSL[5]

Git[6]

Rust[7]

如果你使用的是 Windows,而没有 Linux 的 Windows 子系统[8],那么这个过程有点困难,不过这里[9]有个很好的文档供你参考。编译 Substrate

先决条件安装完成后,你需要为我们的项目设置框架。Substrate 节点模板(Substrate Node Template)是在 Substrate 上开始构建的一个很好的起点。

复制 Substrate 节点模板(版本 v2.0.0-alpha.5)

git clone -b v2.0.0-alpha.5 --depth 1 https://github.com/substrate-developer-hub/substrate-node-template

初始化 WebAssembly 开发环境

# Load settings into the current shell script if you can't use rustup commandsource ~/.cargo/env# Update Rustrustup update nightlyrustup update stable# Add Wasm targetrustup target add wasm32-unknown-unknown --toolchain nightly

为你的工作创建一个分支并编译你的 Substrate 节点

cd substrate-node-template/git checkout -b my-first-substrate-chaincargo build --release

根据硬件的不同,最终编译可能最多需要 25 分钟。在这段时间里,请继续阅读下面的内容,以了解更多有关 Substrate 的信息。

背景信息

在这部分内容中,我们将向你介绍 Substrate 区块链开发框架。你当前正在开发的节点模板是基于此框架构建的。区块链的背景

区块链开发很难。

区块链网络由在点对点网络(P2P)上连接在一起的各个节点组成。节点是网络上运行区块链软件的个人计算机,它可以使一切正常工作。

要发挥作用,区块链节点需要:

数据库

P2P 网络

共识引擎

交易处理

状态转换函数

还有更多...

这些技术跨越了计算机科学的广阔领域,因此通常需要专家团队来开发。所以,大多数区块链项目都不是从头开始开发的。相反,这些项目是从已经存在的区块链存储库中分叉出来的。例如:

比特币存储库被分叉创建了:Litecoin、ZCash、Namecoin、Bitcoin Cash 等

以太坊储存库被分分创建了:Quorem、POA 网络、KodakCoin、MusicCoin 等

以这种方式构建区块链具有严重的局限性,因为这些现有平台的设计并没有考虑到修改问题。Substrate

Substrate 是一个开源、模块化和可扩展的框架,用于构建区块链。

Substrate 从一开始就进行了设计,为创新者设计和构建下一个区块链网络提供了一个灵活的框架。它提供了构建自定义区块链节点所需的所有核心组件。Substrate 节点模板

我们以节点模板的形式提供了一个开箱即用的基于 Substrate 的节点,在你阅读时,这个模板应该正在进行编译。不做任何更改,你和你的朋友就可以共享此节点模板,并创建一个有加密货币的区块链网络和有关的一切!

我们将教你如何在 “开发” 模式下使用此节点,它允许你使用单个节点运行网络,并拥有一些有资金的预配置用户帐户。

与节点交互

现在,你的节点已经完成编译,现在开始展示所有内容是如何开箱即用的。启动你的节点

运行以下命令启动节点:

#Purgechaincleansupanyolddatafromrunninga`dev`nodeinthepast#Youwillbepromptedtotype`y`./target/release/node-templatepurge-chain--dev#Runyouractualnodein"development"mode./target/release/node-template--dev

如果节点运行成功,你应该看到这样的内容:

$./target/release/node-template--dev2020-03-1107:42:55Runningin--devmode,RPCCORShasbeendisabled.2020-03-1107:42:55SubstrateNode2020-03-1107:42:55version2.0.0-alpha.5-da88e4a-x86_64-linux-gnu2020-03-1107:42:55byAnonymous,2017-20202020-03-1107:42:55Chainspecification:Development2020-03-1107:42:55Nodename:deranged-faucet-44322020-03-1107:42:55Roles:AUTHORITY2020-03-1107:42:55InitializingGenesisblock/state(state:0x3e8a…1c6b,header-hash:0x1990…e24d)...2020-03-1107:43:00Imported#1(0x857f…9b4e)2020-03-1107:43:00Idle(0peers),best:#1(0x857f…9b4e),finalized#0(0x1990…e24d),?0?02020-03-1107:43:05Idle(0peers),best:#1(0x857f…9b4e),finalized#0(0x1990…e24d),?0?02020-03-1107:43:06Startingconsensussessionontopofparent0x857f7b9091f37926a67c403ef0a19fdb31b31491dbc1d2a5e70c000f23c99b4e2020-03-1107:43:06Preparedblockforproposingat2[hash:0xf2b6f619c42824690c39c022af815fd59e7497b7ca321cf866bd9a16aed75ae7;parent_hash:0x857f…9b4e;extrinsics(1):[0x5283…d9f3]]2020-03-1107:43:06Pre-sealedblockforproposalat2.Hashnow0x4db38cd7afa731a88cd0cf963de1bf728d8cee96ea5db1718b7c32121aa286a6,previously0xf2b6f619c42824690c39c022af815fd59e7497b7ca321cf866bd9a16aed75ae7.2020-03-1107:43:06Imported#2(0x4db3…86a6)

如果 best: 之后的数字在增加,那说明你的区块链正在生成新的区块!启动前端

为了与本地节点交互,我们将使用 Polkadot js Apps 用户界面,通常简称为“Apps”。尽管名称如此,但 Apps 将与任何基于 Substrate 的区块链(包括我们的区块链)一起工作,而不仅仅是波卡。

在 web 浏览器中,导航到 https://polkadot.js.org/apps。

在Settings选项卡上,确保已连接到 Local Node或 ws://127.0.0.1:9944。“

一些浏览器,特别是 Firefox,不会从 https 网站连接到本地节点。一个简单的解决方法是尝试另一个浏览器,比如 Chromium。另一个选项是在本地接入此接口。https://github.com/polkadot-js/apps#development交互

选择 Accounts 选项卡,你将看到你有权访问的测试帐户。有些,像 Alice 和 Bob,已经有了资金!

你可以试着通过点击“发送”按钮将一些资金从 Alice 转到 Charlie 。

如果一切顺利,你会看到一些弹出的通知,显示“ Extrinsic Success ”,然后 Charlie 的账户余额将增加。创建你的账户

你可以通过选择 + Add Account 按钮创建自己的帐户。它还没有任何代币,但你可以从 Alice 或任何其他已经有资金的帐户发送一些代币。只有你(和你的浏览器)知道你自己帐户的私钥,这意味着除了你之外,没有人可以转账这些代币。下一步

这就是你创建第一个 Substrate 区块链旅程的结尾啦。

你已经启动了一个基于 Substrate 的区块链,在该链上附加了一个用户界面,并在用户之间进行了代币的转账。我们希望你能继续学习 Substrate。

下一步可能是:

在 “启动专用网络”[10] 教程中,使用更多节点去中心化你的网络。

在 Build a dApp[11] 教程中添加自定义功能。

如果你在本教程中遇到任何问题或希望提供反馈,请随时开启 GitHub issue 或联系我们的 Riot 频道。

GitHub issue :https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/issues/new

Riot:https://riot.im/app/#/room/!HzySYSaIhtyWrwiwEV:matrix.org中文视频:搭建 Substrate 开发环境

参考链接

[1]

issue : https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/issues/new[2]

Riot : https://riot.im/app/#/room/!HzySYSaIhtyWrwiwEV:matrix.org[3]

CMake: https://cmake.org/install/[4]

pkg-config: https://www.freedesktop.org/wiki/Software/pkg-config/[5]

OpenSSL: https://www.openssl.org/[6]

Git: https://git-scm.com/downloads[7]

Rust: https://www.rust-lang.org/tools/install[8]

Linux 的 Windows 子系统: https://docs.microsoft.com/en-us/windows/wsl/install-win10[9]

这里: https://substrate.dev/docs/en/overview/getting-started[10]

“启动专用网络”: https://substrate.dev/docs/en/tutorials/start-a-private-network/[11]

Build a dApp: https://substrate.dev/docs/en/tutorials/build-a-dapp/[12]

https://substrate.dev/docs/en/tutorials/creating-your-first-substrate-chain/: https://substrate.dev/docs/en/tutorials/creating-your-first-substrate-chain/

原文:https://substrate.dev/docs/en/tutorials/creating-your-first-substrate-chain/[12]

编译:PolkaWorld 社区

欢迎学习 Substrate:

https://substrate.dev/

关注 Substrate 进展:

https://github.com/paritytech/substrate

关注 Polkadot 进展:

https://github.com/paritytech/polkadot

申请 Bootcamp:

https://bootcamp.web3.foundation/

本文来源:PolkaWorld
原文标题:教程|创建你的第一条 Substrate 区块链

—-

编译者/作者:PolkaWorld

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...