Move是一种新的编程语言,旨在为Libra Blockchain提供安全可编程的基础.Libra Blockchain中的帐户是任意数量的Move资源和Move模块的容器.提交给Libra Blockchain的每个事务都使用Move中编写的事务脚本来编码其逻辑.事务脚本可以调用模块声明的过程来更新区块链的全局状态. 在本指南的第一部分中,我们将对Move语言的主要功能进行高级介绍: 移动事务脚本启用可编程事务 移动模块允许可组合智能合约 移动有一流的资源 对于好奇的读者,Move技术论文包含…
在这个简短的概述中,我们描述了我们在eToro标记化资产背后实施技术的初步经验,即MoveIR语言中的(eToken),用于在Libra网络上进行部署. Libra协议是一个确定性状态机,它将数据存储在版本化数据库中.使用新颖的领域特定语言:Move.Move允许可编程事务和模块重用代码和状态 - 类似于我们定义为智能合约. 目前,Libra不允许发布模块,这就是为什么eToken的源代码应该作为测试运行的原因.可以在此处找到此Move IR eToken实现的完整源代码. 此测试已在提交哈希中…
我们提供了一个命令行界面(CLI)客户端来与区块链进行交互. 假设 本文档中的所有命令均假定: 您运行的是Linux(基于Red Hat或Debian)或macOS系统. 您可以稳定地连接到互联网. git 已安装在您的系统上. Homebrew安装在macOS系统上. yum或者apt-get安装在Linux系统上. 提交交易的步骤 在这个例子中,我们将下载必要的Libra组件并在两个用户之间执行一个事务:Alice和Bob. 执行以下步骤将事务提交到Libra testnet上的验证程序节点…
交易生命周期 为了更加深入的理解Libra的交易生命周期,我们将跟随一个交易的全过程,从其被提交到Libra validator始,直至其被添加到区块链上止.我们将“放大”来看每个validator逻辑组件及与其他组件之间的交互. 客户端提交交易 Libra客户端构造 原始交易 (此处称为T5raw),从Alice的账户中转移10Libra币到Bob的账户中.原始交易应包含以下字段:每个字段都通过超链接关联到词汇定义表. Alice的账户地址. 一个表明Alice方将执行的操作的程序,包括: 一…
Libra区块链是一个基于Libra协议的加密认证的分布式数据库.本文将简略介绍Libra协议的核心概念.其详细说明请参阅Libra技术白皮书. Libra区块链由分布式的Validator节点网络维护, 或简称为Validator.Validator集体遵循共识协议 决定区块链中交易的进行次序. Libra测试网络是Libra区块链项目早期原型,即Libra Core的Demo . 交易和状态 Libra协议的两个核心基本概念为交易和状态在任一时间点,区块链都有一个所谓的状态.状态(或成为分布…
Move是一种新的编程语言,旨在为Libra Blockchain提供安全可编程的基础. 组织 Move语言目录由五部分组成: 的虚拟机(VM),其中包含的字节码格式,字节码解释器,和基础设施执行事务的块.该目录还包含生成创世块的基础结构. 该字节码验证,其中包含了拒绝无效移动字节码静态分析工具.虚拟机在执行它之前遇到的任何新Move代码上运行字节码验证程序.编译器在其输出上运行字节码验证器,并将错误表示给程序员. Move中间表示(IR)编译器,它将人类可读的程序文本编译为Move字节码.警告…
暂时看到篇文章写的不错,先收集下来,后面有机会自己也整理一个 Solidity语言学习(一)Solidity语言学习(二)——Solidity的安装与编译Solidity语言学习(三)——智能合约编程案例一投票系统Solidity语言学习(四)——智能合约的结构 似乎还缺少合约继承的东西? 继承(Inheritance) 还缺少合约升级? web3.js介绍 web3.js入门web3与智能合约的交互 solidity中constant.view和pure三个修饰函数的关键词的作用: view和…
这是Solidity教程系列文章第9篇介绍Solidity 错误处理. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 欢迎订阅区块链技术专栏阅读更全面的分析文章. 什么是错误处理 错误处理是指在程序发生错误时的处理方式,Solidity处理错误和我们常见的语言不一样,Solidity是通过回退状态的方式来处理错误.发生异常时会撤消当前调…
智能合约语言Solidity教程系列第二篇 - Solidity地址类型介绍. 写在前面 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对专栏订阅用户). 地址类型(Address) 地址类型address是一个值类型, 地址: 20字节(一个以太坊地址的长度),地址类型也有成员,地址…
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本系列文章一部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,另一部分是Solidity深入分析,这部分请订阅区块链技术专栏阅读. 结构体(Structs) Solidity提供struct来定义自定义类型,自定义的类型是引用类型. 我们看看下面的例子: pragma solidity ^0.4.11; contract Crowd…