本文描述如何在Move中间表示(IR)中编写事务脚本和模块。IR是即将到来的Move源代码语言的早期(且不稳定)先驱。Move IR是一个覆盖于Move字节码之上的薄薄的语法层,用于测试字节码验证器和虚拟机,它对开发人员不是特别友好。它的级别足够高,可以编写人类可读的代码,但又足够低,可以直接编译以移动字节码。
既然决心要扩大知名度,那么免不了要偶尔蹭蹭热点,恰好我之前就已经给很多人说过Hotstuff,同时正好也在之前的专栏里介绍过BFT,所以正好可以顺理成章地讲一下LibraBFT。
智能合约是区块链领域大家一直比较关注的主题,本文试图从智能合约的演进角度分析 Libra 的 Move 合约要解决的问题,以及其架构设计,也就是回答『 Libra 为什么要重新设计一种编程语言?』这个问题。
Libra 依然存在很多不足。比如,富有争议的共识机制、计算溢出处理的因循守旧、实现语言的单一依赖、伪随机数问题、宣称的同地址私钥替换技术尚未落地等。
Libra与数字美元分别代表了两股力量。
文章首先概述了 JMT 在 Libra 中扮演的角色,作用,及其主要的特征;然后重点阐述其接口以及内部实现;最后,拿它和以太坊的 MPT 树做对比,聊一聊它的优缺点。