打字猴:1.703876394e+09
1703876394 区块链项目开发指南 [:1703875292]
1703876395 区块链项目开发指南 第3章 编写智能合约
1703876396
1703876397 在前一章中,我们学习了以太坊区块链的工作原理以及PoW共识协议保障其安全性的原理。现在我们已经掌握了以太坊的工作原理,所以是时候开始编写智能合约了。有好几种语言可以用于编写以太坊智能合约,不过Solidity是最热门的语言。在本章中,我们将首先学习Solidity编程语言。然后创建一个DApp,用于证明在特定时间的存在、真实性和所有权,即证明一个文件在一个特定时间属于一个特定所有者。
1703876398
1703876399 在本章中,我们将讲解以下内容:
1703876400
1703876401 ·Solidity源文件的布局。
1703876402
1703876403 ·理解Solidity的数据类型。
1703876404
1703876405 ·合约的特殊变量和函数。
1703876406
1703876407 ·控制结构。
1703876408
1703876409 ·合约的结构和功能。
1703876410
1703876411 ·编译和部署合约。
1703876412
1703876413
1703876414
1703876415
1703876416 区块链项目开发指南 [:1703875293]
1703876417 区块链项目开发指南 3.1 Solidity源文件
1703876418
1703876419 Solidity源文件使用的扩展名为.sol。与其他编程语言一样,Solidity有多种版本。在写本书时,其最新版本是0.4.2。
1703876420
1703876421 在源文件中,可以使用pragma Solidity说明编写代码时用的编译器版本。例如,
1703876422
1703876423
1703876424
1703876425
1703876426 现在,源文件不会用低于0.4.2的编译器版本,也不会用高于0.5.0的编译器版本进行编译(第二个条件使用^添加)。0.4.2和0.5.0之间的编译器版本最有可能包括bug修复。
1703876427
1703876428
1703876429 可以为编译器版本指定更复杂的规则;使用与npm一样的表达式。
1703876430
1703876431
1703876432
1703876433
1703876434 区块链项目开发指南 [:1703875294]
1703876435 区块链项目开发指南 3.2 智能合约的结构
1703876436
1703876437 合约就像一个类(class),其中包含状态变量(state variable)、函数(function)、函数修改器(function modifier)、事件(event)、结构(structure)和枚举(enum)。合约还支持继承,通过在编译时备份代码来实现。最后,合约还支持多态。
1703876438
1703876439 下面来看一个智能合约的例子:
1703876440
1703876441
1703876442
1703876443
[ 上一页 ]  [ :1.703876394e+09 ]  [ 下一页 ]