cryptozombies合约1

cryptozombies合约1

创建合约

pragma solidity ^0.4.19 //1. 这里写版本指令

//2. 这里建立智能合约
contract ZombieFactory {
    
    
    
}

状态变量和整数

状态变量是被永久地保存在合约中。也就是说它们被写入以太币区块链中. 想象成写入一个数据库。

无符号整数uint
uint 无符号数据类型, 指其值不能是负数,对于有符号的整数存在名为 int 的数据类型。

定义 dnaDigits 为 uint 数据类型, 并赋值 16。

pragma solidity ^0.4.19;

contract ZombieFactory {
    
    

    //这里开始
    uint dnaDigits = 16;

}

数学运算

在 Solidity 中,数学运算很直观明了,与其它程序设计语言相同:

加法: x + y
减法: x - y,
乘法: x * y
除法: x / y
取模 / 求余: x % y (例如, 13 % 5 余 3, 因为13除以5,余3)
Solidity 还支持 乘方操作 (如:x 的 y次方) // 例如: 5 ** 2 = 25

建立一个uint类型的变量,名字叫dnaModulus, 令其等于 10 的 dnaDigits 次方.

pragma solidity ^0.4.19;

contract ZombieFactory {
    
    

    uint dnaDigits = 16;
    //这里开始
    uint dnaModulus = 10 ** dnaDigits;

}

结构体

建立一个struct 命名为 Zombie.

我们的 Zombie 结构体有两个属性: name (类型为 string), 和 dna (类型为 uint)。

pragma solidity ^0.4.19;

contract ZombieFactory {
    
    

    uint dnaDigits = 16;
    uint dnaModulus = 10 ** dnaDigits;

    // 这里开始
    struct Zombie {
    
    
        string name;
        uint dna;
    }
}