Libra教程之:move语言的特点和例子

move语言的特点 Libra的目标是打造一个全球话的金融和货币的平台,从而赋能地球上的几十亿人。那么作为Libra的move语言就需要在安全性和可编程性上面提供大力的支持。 为了实现这样的目标,move遵从如下四大设计原则: 资源优先 在区块链中我们需要通过程序来存取数字资产,这个数字资产和普通程序中的变量(如booleans,integers,strings)有着明显的区别。我们需要一个特别的…

Libra教程之:数据结构和存储

前面的文章我们知道,libra会把所有的数据都存储在账本中。为了方便业务逻辑和数据的校验,这个存储是以特定的数据结构来实现的,这里我们叫做验证的数据结构。 验证的数据结构是通过Merkle树来实现的。如果大家熟悉其他的区块链的话,大家可能知道Merkle树由于其特殊的结构,被用在大多数区块链中。 下面我们来分别讨论。 存储的数据结构 如下图所示,我们来详细的讲解其存储的数据结构: (1)用Merk…

Libra教程之:执行Transactions

Transactions是什么 我们讲到了Libra是一个分布式账本,存储着账本状态,从账本状态里面,我们可以获取现在每一个账户的资金情况和存储的相应资源。 而这个账本状态就是通过执行Transactions来进行改变的。 用户定义的Transactions是通过Move来编写的,目前来说Libra处于早期版本,只有有限的功能开放给Move语言(不如用户不能自定义资源类型等),但是随着Libra的…

Libra教程之:Libra protocol的逻辑数据模型

Libra protocol简介 Libra区块链本质上是一个加密数据库,这个数据库是通过Libra protocol来维护的。所以Libra protocol是Libra区块链的核心。 Libra protocol的核心是账户,resources和module. 数据库主要存储可编程的resources账本,比如:Libra coin。这些resources是由定义的module来约定的,这些m…

Libra教程之:运行自定义move modules

简介 因为Libra和Move都是在不断发展的过程,在本文发布的时候,自定义Move modules还不能在testnet上面发布,只能在本地环境发布,下面我们将会看一下到底怎么才能在本地网络上面运行一个自定义Move程序。 创建Move modules 这里,我们创建了一个非常简单的名为MyModule的模块。 该模块具有一个称为id的单一过程,该过程是一个操作coin的恒等过程。 它输入Lib…

Libra教程之:来了,你最爱的Move语言

Move语言 Move是一种新的编程语言,旨在为Libra区块链提供安全且可编程的基础。 Libra区块链中的帐户就是由任意数量的Move resources和Move modules组成的。 提交给Libra区块链的每个交易都使用Move编写的交易脚本来对其逻辑进行编码。 交易脚本通过调用module声明的procedures来更新区块链的全局状态。 Move的核心概念 Move交易脚本 每个L…

Libra教程之:Libra testnet使用指南

Libra testnet网络 Libra的测试网络testnet已经上线了,那么我们该怎么做才能在testnet上给自己转账一千万,从此出任CEO,赢取白富美,走上人生巅峰呢? 跟着我的节奏,来吧。 testnet只是一个测试网络,有的小伙伴在想我是不是可以搭个私链发个币,然后再上交易所呢? 完全没问题,在币圈只有想不到的,没有做不到的,搭私链的问题,我会在文章中最后一个章节讲到。 本文档将指导…

Libra教程之:Transaction的生命周期

Transaction的生命周期 本文会以一个提交到Libra validator的transaction为例,来讲解Transaction和其他组件的交互,和具体的状态变化过程。 提交一个Transaction 这里我们举个例子,还是上篇文章的例子,A拥有110LBR,B拥有52LBR。接下来会构建一个原始交易Tn,将A拥有的10LBR转给B。 这个原始交易将包含如下字段: A的帐户地址。 一个…

Libra教程之:Libra协议的关键概念

Libra协议 Libra协议是Libra区块链的基础,本文主要讲解Libra协议的一些关键概念。 交易和状态 我们知道区块链也可以叫分布式账本,它主要的作用就是存储各种交易。而为了便于查询和提升效率,现代的区块链都会引入状态的概念,来代表某时刻链上数据的当前快照。 交易会改变相应的状态,如下图所示: 上图描述了执行交易发生时Libra区块链相应的状态改变。 其中T是交易,S是状态,为了便于描述,…

Libra白皮书解读

Libra简介 Libra是facebook发起的一个区块链项目,其使命是建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。 facebook认为传统的金融服务离穷人太远,并且被收取各种不菲且难以预测的费用。全球仍有17亿成年人从来没有接触过金融系统,虽然他们中的10亿人拥有手机,其中的5亿人可以上网。 facebook希望借助与区块链的独特的金融特性来实现普惠金融的目标。 区块链的主要…