织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

Tezos 开发必读:手把手教你使用 Michelson 编写智能合约

时间:2020-07-25 16:24来源:未知 作者:admin 点击:
了解 Tezos 的脚本语言 Michelson 是如何工作的,并学会编写一些简单的智能合约。 原文标题:《手把手教你使用 Michelson 编写智能合约》 撰文:Claude Barde 翻译:天道酬勤 Michelson 入门:
了解 Tezos 的脚本语言 Michelson 是如何工作的,并学会编写一些简单的智能合约。

原文标题:《手把手教你使用 Michelson 编写智能合约》
撰文:Claude Barde
翻译:天道酬勤

Michelson 入门:Tezos 的脚本语言

Michelson 肯定是目前智能合约中最令人兴奋的编程语言之一。它是一种基于堆栈的严格类型化语言,编写智能合约可以确保 Tezos 区块链的安全。Michelson 可以和以太坊智能合约的字节码相媲美,但它更具可读性,更安全,更强大。用来为 Tezos 编写智能合约的所有高级语言——比如 SmartPy、Ligo 或 Lorentz——最终都可以编译成 Michelson。

在这第一篇文章中,我们将尝试使用 Michelson 语言,理解「基于堆栈」的含义,并编写一些非常简单的智能合约。本文主要是为编程或者 Tezos 开发的初学者编写的,但是想要更多地了解 Michelson 的中级程序员也可以在这里找到有用的信息。我们将使用 Baking Bad 开发的 Jupyter 内核,在 Jupyter 笔记本中编写 Michelson 代码。如果你想了解代码的工作原理,可以在每个部分中找到一个链接。

让我们写一些代码。

 

堆栈

要理解 Michelson 是如何工作的,堆栈是需要正确理解的主要概念之一。每一份 Michelson 合约都是相互遵循的指令清单。这些指令以准确的顺序排列,并按照写入的顺序执行。

每条指令都会以某种方式操纵堆栈。把它想象成一堆数据。你编写的指令将对堆中的数据产生影响。例如,你可以将堆上两段数据相加,删除顶部的数据,将另一段数据放在顶部,传输一些令牌,等等。该堆栈以后进先出的方式工作 :如果要访问不在堆栈顶部的数据,必须先处理它上面的数据。

使用 Michelson 进行编码时,你必须记住的三个主要概念:

  • 新数据放在堆栈的顶部。
  • 只有当堆栈中的数据位于堆栈顶部(或某些操作中位于第二个位置,如下所述)时,才可以访问堆栈中的数据。
  • 数据处理的顺序是从堆栈的顶部到底部。

让我们看一个例子。

PUSH 操作

如果你要在堆栈顶部添加一条数据,你将调用 PUSH 操作。它是这样工作的:

此时需要注意的是,堆栈中可能已经有数据,在这种情况下,新值会放在它们之上。这是你在 Michelson 中推送新数据的方式:

PUSH value-type value

例如,如果要推送一个整数,你会写 PUSH int 2,对于一个字符串,你会写 PUSH string 「 Tezos」。

Michelson 智能合约结构 (责任编辑:admin1)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容