Move是一种新的编程语言,旨在为Libra Blockchain提供安全可编程的基础。

组织

Move语言目录由五部分组成:

  • 虚拟机(VM),其中包含的字节码格式,字节码解释器,和基础设施执行事务的块。该目录还包含生成创世块的基础结构。

  • 字节码验证,其中包含了拒绝无效移动字节码静态分析工具。虚拟机在执行它之前遇到的任何新Move代码上运行字节码验证程序。编译器在其输出上运行字节码验证器,并将错误表示给程序员。

  • Move中间表示(IR)编译器,它将人类可读的程序文本编译为Move字节码。警告:IR编译器是一种测试工具。它可以生成将被Move字节码验证器拒绝的无效字节码。IR语法是一项正在进行的工作,将进行重大更改。

  • 标准库,它包含核心系统模块,如移动IR代码LibraAccountLibraCoin

  • 测试虚拟机,字节码验证和编译器。这些测试是在Move IR中编写的,由测试框架运行,该测试框架从注释中编码的特殊指令解析运行测试的预期结果。

Move语言如何适应天秤座核心

Libra Core组件通过VM与语言组件交互。具体地,准入控制组件使用VM功能的有限的只读子集在它们被允许进入mempool和共识之前丢弃无效事务。在执行组件使用VM来执行交易的块。

探索MoveIR

目录组织

├── README.md          # This README
├── bytecode_verifier # The bytecode verifier
├── e2e_tests # infrastructure and tests for the end-to-end flow
├── functional_tests # Testing framework for the Move language
├── compiler # The IR to Move bytecode compiler
├── stdlib # Core Move modules and transaction scripts
├── test.sh # Script for running all the language tests
└── vm
├── cost_synthesis # Cost synthesis for bytecode instructions
├── src # Bytecode language definitions, serializer, and deserializer
├── tests # VM tests
├── vm_genesis # The genesis state creation, and blockchain genesis writeset
└── vm_runtime # The bytecode interpreter

Libra国内开发者微信交流群:

不能入群请加管理微信,拉你进群=>

 

最新文章

  1. ViewPager之Fragment页面切换
  2. <!DOCTYPE>标签的定义与用法
  3. 《CODE》读后笔记——第21~25章
  4. luemn PHP_CodeSniffer的安装
  5. Myeclipse如何设置字体大小
  6. Java 实现组合(Composite)模式
  7. 关于google CDN 在中国访问不了的解决办法
  8. zookeeper集群配置
  9. 转:WebDriver(Selenium2)模拟鼠标经过事件
  10. 201521123031 《Java程序设计》 第十周学习总结
  11. docker dead but pid file exists
  12. [jzoj]1729.blockenemy
  13. Beta之后的想法
  14. css实现单选效果,看看有趣的tabIndex
  15. wepy - 小程序开发框架
  16. Three.js开发指南---创建,加载高级网格和几何体(第八章)
  17. [Linux] diff命令:逐行进行文件比较
  18. [leetcode] 19. Count and Say
  19. Nodejs-- web服务器
  20. SqlDataReader 结果集 转成 DataTable

热门文章

  1. js 执行完setTimeout再接着执行函数
  2. Microsoft 中间语言
  3. vscode 插件备忘
  4. Linux高级网络设置——将多个网卡设置成一个网卡
  5. DNS理解
  6. C 全局变量 本地变量
  7. java学习笔记16-抽象类
  8. ZZNU-OJ-2119 : 告辞,【卡特兰数列,组合数学】
  9. 【万能的DFS和BFS基础框架】-多刷题才是硬道理!
  10. python_面向对象——对象间的组合关系