找回密码
 立即注册

QQ登录

只需一步,快速开始

门户 区块链技术 查看内容
  • QQ空间
  • 回复
  • 收藏

以太坊连载(22):深入浅出智能合约

admin 2018-11-20 16:29

什么是合约?

合约是代码(它的功能)和数据(它的状态)的集合,存在于以太坊区块链的特定地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上的区块链运行。

合约很典型地用诸如Solidity等高级语言写成,然后编译成字节代码上传到区块链上。

另请参阅:


也存在其他语言, 尤其是Serpent和LLL,在此文本的以太坊高级语言章节会进一步阐述。去中心化应用开发资源列出了综合的开发环境,帮助你用这些语言开发的开发者工具,提供测试,和部署支持等功能。


以太坊高级语言


合约依靠被称作以太坊虚拟机(EVM) 字节代码(以太坊特有的二进制格式)上的区块链运行。然而,合约很典型地用诸如Solidity等高级语言写成,然后用以太坊虚拟机编译器编译成字节代码上传到区块链。

下面是开发者可以用来为以太坊写智能合约的高级语言。

Solidity


Solidity是和JavaScript相似的语言,你可以用它来开发合约并编译成以太坊虚拟机字节代码。

它目前是以太坊最受欢迎的语言。

  • Solidity文本 – Solidity是以太坊的旗舰高级语言,用于写合约。

  • Solidity在线实时编译器

  • 标准合约API

  • 有用的去中心化模式 – 用于去中心化应用开发的代码片段。

Serpent


Serpent是和Python类似的语言,可以用于开发合约编译成以太坊虚拟机字节代码。它力求简洁, 将低级语言在效率方面的优点和编程风格的操作简易相结合,同时合约编程增加了独特的领域特定功能。Serpent用LLL编译。

  • 以太坊维基百科上的Serpent

  • Serpent以太坊虚拟机编译器

LLL


Lisp Like Language (LLL)是和Assembly类似的低级语言。它追求极简;本质上只是直接对以太坊虚拟机的一点包装。

  • GitHub上的LIBLLL

  • LLL实例

Mutan (弃用)


Mutan是个静态类型,由Jeffrey Wilcke 开发设计的C类语言。它已经不再受到维护。

编写合约

没有Hello World程序,语言就不完整。Solidity在以太坊环境内操作,没有明显的“输出”字符串的方式。我们能做的最接近的事就是用日志记录事件来把字符串放进区块链:


123
contract HelloWorld { 
   event Print(string out);
}


每次执行时,这个合约都会在区块链创建一个日志入口,印着“Hello,World!”参数。

文章点评
相关文章

热门货币

柚子币EOS
柚子币EOS

EOS (Enterprise Operation System)是由 Block.one公司主导开发

恒星币XLM
恒星币XLM

恒星币(Stellar),一个由前瑞波币(Ripple)创始人Jed McCaleb

比特币BTC
比特币BTC

比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的

新经币NEM
新经币NEM

新经币(New Economy Movement,缩写 NEM),是一种点对点虚拟货币

艾达币ADA
艾达币ADA

ADA,中文称为艾达币,是Cardano项目的产物,Cardano项目发起于2

币圈大佬

V神:以太坊创始人
V神:以太坊创始人

萌萌的天才少年Vitalik Buterin,圈内人一般称他为V神。这个94年

中本聪:比特币创始人
中本聪:比特币创始人

中本聪,比特币创始人,谜一样的人物。2008年中本聪在互联网上一

李笑来:中国比特币首富
李笑来:中国比特币首富

李笑来,原新东方名师,中国比特币首富,著名天使投资人,比特基

老猫:硬币资本联合创始人
老猫:硬币资本联合创始人

老猫,硬币资本联合创始人,现为Bigone交易所的CEO。巴比特专栏

黄天威:比特时代创始人兼CEO
黄天威:比特时代创始人兼

黄天威,比特时代创始人兼CEO,历任腾讯产品经理,范特西副总裁,

交易平台

火币网
火币网

火币网成立于2013年,是中国最大的比特币(btc)、莱特币(ltc)、以

火币pro
火币pro

火币全球专业站,是火币全球旗下服务于全球专业交易者的创新数字

库币网
库币网

库币网就是以“区块链”为核心上线的数字资产交易平台。千万注册

OkCoin国际
OkCoin国际

okcoin国际站是全球着名的数字资产交易平台之一,主要面向全球用

币安Binance
币安Binance

币安交易平台是由赵长鹏(CZ)领导的一群数字资产爱好者创建而成