广州

点击搜索

发布

DAPP公链代币合约质押挖矿项目系统开发

区域:
广州 > 天河 > 林和
类别:
软件开发
地址:
广州天河区中山大道
  智能合约本质上是一段部署(Deploy,即发布)到区块链上的程式码【I8I-项目2591-开发3365】因为区块链上的程式码(严格来说是二进位码)可以被检视,所以具备公开透明的特性。智能合约被部署到链上后会产生一个合约地址,存在于链上的区块之中。以下用Pelith开发部署之CryptoCow智能合约为范例做解说。

  智能合约的技术运作原理解析

  如何部署智能合约?

  我们从智能合约的诞生谈起。

  开发者将程式码开发完成后,要透过发送一笔接收地址为“0x0”开头的交易(一般交易的接收地址为0x开头,后面接一串字),并在交易的Input Data内放上开发完成的程式码。矿工看到接收地址为0x0的交易就会知道交易的发送者想要部署智能合约,随后便会将Input Data内的程式码部署到区块链上,并生成一个合约地址。

  智能合约的技术运作原理解析

  然而我们会发现Input Data充满了看不懂的文字,似乎跟我们印象中的程式码不太一样,原因是在以太坊上储存的合约逻辑是以Bytecode的形式,所以开发者以Solidity开发的原始码必须先被编译成Bytecode才能部署上链。

  目前大多数开发者使用的开发工具,如:Remix本身都具备编译的功能,开发者开发完原始码后只要一键进行编译的动作便能取得Bytecode。

  智能合约其实不是合约也不智能,只是它能跑着区块链上的代码。

  二、智能合约语言

  Solidity

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

  Serpent

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

  Lisp Like Language(LLL)

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

  Mutan(弃用)

  Mutan是个静态类型,由Jeffrey Wilcke开发设计的C类语言。它已经不再受到维护。
查看更多广州网站/软件服务信息

免责声明:此信息系发布者(UID:739123)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们