目录
一、前言
看了一些区块链的教程,论文,在网上刚刚找到了一个项目实战,CryptoZombies。从这篇博客开始总结自己的学习笔记,与大家一同分享。
如果你想了解更多有关于机器学习、深度学习、区块链、计算机视觉等相关技术的内容,想与更多大佬一起沟通,那就扫描下方二维码加入我们吧!
二、数学运算(Math Operations)
1、常用数学运算
常用数学运算如下
加法
:x + y
减法
:x - y
,乘法
:x * y
除法
:x / y
取模 / 求余
:x % y
(例如:13 % 5
=3,
因为13除以5,余3)乘方
:x ** y
(例如:5 ** 2
=25
)
数学运算示例如下:
uint x = 5 + 2; // equal to 5+2 = 7
uint x = 5 - 2; // equal to 5-2 = 3
uint x = 5 * 2; // equal to 5*2 = 10
uint x = 8 / 2; // equal to 8/2 = 4
uint x = 13 % 5; // equal to 13%5 = 3
uint x = 5 ** 2; // equal to 5^2 = 25
2、实战
1.要求
建立一个uint
类型的变量,名字叫dnaModulus
, 令其等于 10 的 dnaDigits
次方。
2.代码
pragma solidity ^0.4.25;
contract ZombieFactory {
uint dnaDigits = 16;
//start here
uint dnaModulus = 10 ** dnaDigits;
}
三、字符串(string)
字符串用于保存任意长度的 UTF-8 编码数据。
例如:
string greeting = "Hello world!"
四、结构体(Structs)
结构体是更为复杂的数据类型,包含多个属性,与编程语言(例如:C++)中的结构体一样。
示例代码如下:
struct Person {
uint age;
string name;
}
2、实战
1.要求
1.建立一个struct
命名为 Zombie
。
2.Zombie
结构体有两个属性: name
(类型为 string
), 和 dna
(类型为 uint
)。
2.代码
pragma solidity ^0.4.25;
contract ZombieFactory {
uint dnaDigits = 16;
uint dnaModulus = 10 ** dnaDigits;
// start here
struct Zombie {
string name;
uint dna;
}
}