Libra 中文文档|深入浅出区块链

Libra 中文文档|深入浅出区块链

  • 首页
  • 文档
  • Blog
  • Libra官网
  • GitHub

›模块

学习 Libra

  • 来到 Libra 世界
  • Libra 协议核心概念
  • 交易的生命周期
  • 技术论文

    • Libra 区块链
    • Move: 可编程资源语言
    • Libra区块链中的状态机复制

理解 Libra 要点

  • Libra上的第一笔交易
  • 了解 Move 语言

Libra 协议实现

  • Libra Core 概要
  • 模块

    • 准入控制(AC)
    • 字节码验证程序
    • 共识协议
    • 加密组件
    • 执行组件
    • 内存池 Mempool
    • Move IR 编译器
    • Move 编程语言
    • 网络 Network
    • 存储模块 Storage
    • 虚拟机

参考引用

  • Libra CLI 命令指南
  • 词汇表

社区

  • Libra 开放源码
  • 贡献指南
  • 编码指南
  • 报告漏洞
Edit

Move 编程语言

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

组织

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

  • 虚拟机 (VM), 它包含字节码格式、字节码解释器和执行交易块的基础设施。该目录还包含生成创世区块的基础设施

  • 字节码验证器, 其中包含一个静态分析工具,用于拒绝无效的Move字节码。虚拟机在执行新的Move代码前,会先运行字节码验证器。编译器运行字节码验证器则会把输出和错误显示给程序员。

  • Move中间层表示 (IR: intermediate representation) 编译器, 它将可读的程序文本编译成Move字节码. 警告:IR编译器是一个测试工具。它会生成将被Move字节码验证器拒绝的无效字节码。IR语法工作仍在进行,或将经历重大的变化。

  • 标准库, 其中包含 LibraAccount 和 LibraCoin 等核心系统模块的Move IR代码。

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

Move语言如何融入Libra Core

Libra Core组件通过VM与语言组件交互。 具体来说, 准入控制 组件使用有限的只读 VM 虚拟机的功能 子集 在被允许进入内存池及共识之前丢弃无效的交易。 执行 模块使用VM执行一个交易块。

探索 Move IR

  • 你可以在 测试 中找到很多小的Move IR示例. 尝试使用Move IR的最简单方法是在此目录中创建一个新测试,并按照运行测试的说明进行操作。
  • 可以在 标准库 中找到更多的示例。 最值得注意的两个是 LibraAccount.mvir, 它实现了Libra区块链上的账户, 以及 LibraCoin.mvir, 它实现了 Libra coin.
  • Libra testnet支持四个交易脚本也在标准库目录中。 它们是 点对点交易, 创建账户, Libra铸币 (仅适用于具有适当权限的帐户), 以及密钥轮换.
  • Move IR语法最完整的文档是 语法. 您还可以查看 Move IR解释器.
  • 查看 IR 编译器说明文件 了解有关编写Move IR代码的更多详细信息。

目录组织

├── README.md          # This README
├── bytecode_verifier  # The bytecode verifier
├── 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
← Move IR 编译器网络 Network →
  • 组织
  • Move语言如何融入Libra Core
    • 探索 Move IR
    • 目录组织
Libra 中文文档|深入浅出区块链
Learn About Libra
Welcome to LibraLibra ProtocolLibra BlockchainLife of a Transaction

Try Libra Core
My First TransactionGetting Started With Move
Libra开发者社区
备注 "Libra" 加群
Libra 中文文档 | 深入浅出区块链社区翻译,未经许可请勿转载 |