打字猴:1.703876399e+09
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
1703876444 上述代码的工作原理如下:
1703876445
1703876446 1)使用contract关键字声明一个合约。
1703876447
1703876448 2)声明两个状态变量data和owner。data包含一些数据,owner包含所有者的以太坊钱包地址,即部署合约者的以太坊地址。
[ 上一页 ]  [ :1.703876399e+09 ]  [ 下一页 ]