rust 区块链开发_在Rust和基材中构建区块链:[开发人员分步指南]

rust 区块链开发

关于如何在开放源码框架Substrate中构建核心区块链基础架构的初学者友好教程。

在这个自我指导的教程中,您将从头开始构建无气体,类似比特币的区块链。 您将了解到,区块链比智能合约功能强大得多。

随意将这些内容的任何用途重新用于举办您自己的研讨会!

您将学到什么:

  • 实施UTXO分类帐模型,比特币的会计机制
  • 更改网络事务池逻辑
  • 配置创世块并编写一些测试
  • 使用Web客户端部署链并与活动节点进行交互

要求:

  • 无需区块链和Rust知识
  • 基本的编程经验
  • 预计时间:3小时

有关更详细的演练,在其中我可以彻底解释我们为什么要进行每个步骤,并在哪里花时间讨论Rust的特征,请查看此视频教程的伴奏:

让我们开始吧!

安装

1.获取Rust&WebAssembly工具的最新稳定版本。 在您的终端中,运行以下命令:

# On Windows, download and run rustup-init.exe from https://rustup.rs instead

# On Macs:
curl https://sh.rustup.rs -sSf | sh
rustup update nightly
rustup target add wasm32-unknown-unknown —toolchain nightly
rustup update stable
cargo install —git https://github.com/alexcrichton/wasm-gc

如果您遇到任何问题或使用其他操作系统,请查看此详细的安装指南

2.在新的终端中,还克隆您本教程的样板代码的副本:

gitclone https://github.com/substrate-developer-hub/utxo-workshop.git
git fetch origin workshop:workshop
git checkout workshop
# [Optional] Once step 1 installations are completed
# Run the following commands to shorten future build time
cd /project_base_directory
cargo test -p utxo-runtime

此仓库还在master分支中包含一个更新且完整的比特币实现(作弊),因此请确保您从头开始检查workshop分支!

根据您的CPU,第一次安装Rust最多可能需要10-20分钟。

现在让我们使用这段时间来学习速成课程,了解比特币的工作原理,并探索我们正在使用的该开发人员SDK!

UTXO分类帐模型上的快速入门

如果您拥有银行帐户,则已经熟悉“基于帐户”的分类帐模型。 在这里,您的银行帐户的总余额会在每次交易中计入或扣除。

比特币提供了一种根本不同的分类帐模型,称为UTXO或未用交易输出。

UTXO像旅行支票一样工作:

  1. 身体上有支票的人都可以花钱。 换句话说,支出许可与金钱相关联,而不是帐号。
  2. 您无法撕开支票并花费其部分。 您必须花费整张支票,并在新支票中收到任何更改。

在下面的示例中,Bob有一个价值50美元的UTXO。 他想给Alice $ 0.5,因此销毁了$ 50的UTXO,并创建了两个新的UTXO,其价值分别为$ 0.5(对于Alice)和$ 49.5(作为零钱)。

图片来源:https://freedomnode.com/

密码学是一种仅允许Bob而不允许其他人使用他的UTXO的基本机制。

此信息存储在每个UTXO的3个字段之一中:

  1. UTXO所在位置的参考哈希 ,有点像数据库中的地址指针
  2. UTXO 的货币价值 ,例如$ 50
  3. 其“所有者”的 公钥

公钥与只有所有者才能拥有的秘密“私钥”相对应。 因此,要花费UTXO,所有者必须使用其对应的私钥以密码方式“签署”交易。 以后可以根据“公钥”检查签名以验证其有效性。

例如,当爱丽丝(Alice)花掉她的UTXO时,将如下所示:

她创建了一个新交易(灰色背景),提供了她的UTXO作为要花费的输入,并且在sigscript字段中,Alice提供了她的签名。

注意:爱丽丝正在“签署”整个交易的详细信息。 这样做的好处是可以锁定事务输出详细信息,以防止网络级别的篡改。 稍后,区块链将验证爱丽丝确实确实授权了整个交易的所有细节。

当您保护区块链免受恶意攻击时,我们将在第2部分中更详细地介绍安全隐患。

底物框架快速入门

您正在使用一个名为Substrate的开源区块链框架。 Substrate是基于Rust的 ,可编译为称为WebAssembly(WAsm)的二进制指令格式。

开箱即用,您可以获得核心的区块链组件,例如分布式数据库,对等网络层以及我们可以选择的各种共识机制。

在本教程中,我们将非常熟悉事务队列和运行时模块层

让我们开始编码!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值