Libra教程之:move语言的特点和例子】的更多相关文章

文章目录 move语言的特点 资源优先 灵活性 安全性 可验证性 Move语句初探 点对点支付交易脚本 Currency Module move语言的特点 Libra的目标是打造一个全球话的金融和货币的平台,从而赋能地球上的几十亿人.那么作为Libra的move语言就需要在安全性和可编程性上面提供大力的支持. 为了实现这样的目标,move遵从如下四大设计原则: 资源优先 在区块链中我们需要通过程序来存取数字资产,这个数字资产和普通程序中的变量(如booleans,integers,strings…
文章目录 Libra protocol简介 逻辑数据模型 账本状态 交易 账本历史 Libra protocol简介 Libra区块链本质上是一个加密数据库,这个数据库是通过Libra protocol来维护的.所以Libra protocol是Libra区块链的核心. Libra protocol的核心是账户,resources和module. 数据库主要存储可编程的resources账本,比如:Libra coin.这些resources是由定义的module来约定的,这些module也存储…
文章目录 Move语言 Move的核心概念 Move交易脚本 Move modules Move resources 写一个Move程序 编写交易脚本 编写自己的Modules Move语言 Move是一种新的编程语言,旨在为Libra区块链提供安全且可编程的基础. Libra区块链中的帐户就是由任意数量的Move resources和Move modules组成的. 提交给Libra区块链的每个交易都使用Move编写的交易脚本来对其逻辑进行编码. 交易脚本通过调用module声明的proced…
文章目录 Transactions是什么 Transactions运行的基础条件 Transactions的结构 执行Transactions Transactions是什么 我们讲到了Libra是一个分布式账本,存储着账本状态,从账本状态里面,我们可以获取现在每一个账户的资金情况和存储的相应资源. 而这个账本状态就是通过执行Transactions来进行改变的. 用户定义的Transactions是通过Move来编写的,目前来说Libra处于早期版本,只有有限的功能开放给Move语言(不如用户…
文章目录 Libra协议 交易和状态 交易详解 账本状态详解 版本数据库 账户 账户地址 Proof 验证节点 存储 Libra协议 Libra协议是Libra区块链的基础,本文主要讲解Libra协议的一些关键概念. 交易和状态 我们知道区块链也可以叫分布式账本,它主要的作用就是存储各种交易.而为了便于查询和提升效率,现代的区块链都会引入状态的概念,来代表某时刻链上数据的当前快照. 交易会改变相应的状态,如下图所示: 上图描述了执行交易发生时Libra区块链相应的状态改变. 其中T是交易,S是状…
文章目录 简介 创建Move modules 启动本地网络 创建账号并送测试币 编译Move Module 发布编译好的Module 创建交易脚本 编译编译脚本 执行脚本 简介 因为Libra和Move都是在不断发展的过程,在本文发布的时候,自定义Move modules还不能在testnet上面发布,只能在本地环境发布,下面我们将会看一下到底怎么才能在本地网络上面运行一个自定义Move程序. 创建Move modules 这里,我们创建了一个非常简单的名为MyModule的模块. 该模块具有一…
文章目录 Transaction的生命周期 提交一个Transaction 交易入链的详细过程 接收Transaction 和其他Validators共享这个Transaction 区块Proposing 执行区块并达成共识 提交区块 Transaction的生命周期 本文会以一个提交到Libra validator的transaction为例,来讲解Transaction和其他组件的交互,和具体的状态变化过程. 提交一个Transaction 这里我们举个例子,还是上篇文章的例子,A拥有110…
Go 语言是一种让代码分享更容易的编程语言 菜鸟教程-Go语言教程(这个教程过于基础,体现不了Go的特性和强大.) 下载/安装Go语言 https://golang.org/dl/ Mac OS X 将 /usr/local/go/bin 目录添加至PATH环境变量 export PATH=$PATH:/usr/local/go/bin 设置GOPATH(go语言的workspace,默认是$HOME/go,如果是其他的目录则需要修改.) 测试1,执行go run hello.go, ~/go/…
文章目录 Libra testnet网络 下载和安装Libra 编译Libra client并连接到Testnet网络 创建两个A和B的两个账号 检查libra cli Client是否运行 创建A的账户 创建B的账户 查看账户列表 给A和B添加Libra币 给A添加110 LBR 给B添加40 LBR 查询余额 转账 查看是否转账成功 搭建私链 Libra testnet网络 Libra的测试网络testnet已经上线了,那么我们该怎么做才能在testnet上给自己转账一千万,从此出任CEO,…
文章目录 存储的数据结构 账本历史 账本状态 账户 事件 前面的文章我们知道,libra会把所有的数据都存储在账本中.为了方便业务逻辑和数据的校验,这个存储是以特定的数据结构来实现的,这里我们叫做验证的数据结构. 验证的数据结构是通过Merkle树来实现的.如果大家熟悉其他的区块链的话,大家可能知道Merkle树由于其特殊的结构,被用在大多数区块链中. 下面我们来分别讨论. 存储的数据结构 如下图所示,我们来详细的讲解其存储的数据结构: (1)用Merkle树来表示的不断累加的账本历史.而Mer…