
Solidity
boss2967
慎独
展开
-
06.Solidity Types - 字符串(String Literals)
案例字符串可以通过""或者’'来表示字符串的值,Solidity中的string字符串不像C语言一样以\0结束,比如我的微信号lxxxxx这个字符串的长度就为我们所看见的字母的个数,它的长度为8pragma solidity ^0.4.4;contract StringLiterals{ string _name; // 状态变量 //构造函数 function ...转载 2018-11-06 09:52:19 · 480 阅读 · 0 评论 -
11.Solidity Types - Solidity 枚举(Enums)
案例下面的代码是我对官方案例作了简单的修改而成。ActionChoices就是一个自定义的整型,当枚举数不够多时,它默认的类型为uint8,当枚举数足够多时,它会自动变成uint16,下面的GoLeft == 0,GoRight == 1, GoStraight == 2, SitStill == 3。在setGoStraight方法中,我们传入的参数的值可以是0 - 3当传入的值超出这个范围时...转载 2018-11-08 20:10:19 · 778 阅读 · 0 评论 -
05.Solidity Types - 地址(Address)
以太坊钱包地址位数验证以太坊中的地址的长度为20字节,一字节等于8位,一共160位,所以address其实亦可以用uint160来声明。我的以太坊钱包的地址为0xF055775eBD516e7419ae486C1d50C682d4170645,0x代表十六进制,我们将F055775eBD516e7419ae486C1d50C682d4170645拷贝,如下图所示,将其进行二进制转换,不难发现,...转载 2018-11-05 21:55:03 · 350 阅读 · 0 评论 -
04.Solidity Types - 布尔(Booleans)
1. 布尔(Booleans)bool: 可能的取值为常量值true和false支持的运算符:! 逻辑非&& 逻辑与|| 逻辑或== 等于!= 不等于备注:运算符&&和||是短路运算符,如f(x)||g(y),当f(x)为真时,则不会继续执行g(y)在f(x)&&g(y)表达式中,当f(x)为false时,则不会执行g(y)...转载 2018-11-05 14:19:30 · 212 阅读 · 0 评论 -
03.Solidity状态变量、局部变量与memory 、storage
memory,storangememory,storage在Solidity开发中的作用,以及值类型、引用类型在合约中memory/storage关键字的区别一段代码清楚认识状态变量、局部变量pragma solidity ^0.4.4;contract Person { int public _age; string public _name; functi...转载 2018-11-05 11:06:25 · 1298 阅读 · 2 评论 -
02.Solidity合约结构(初识别状态变量、局部变量、构造函数、析构函数)
1.什么是合约?在区块链上运行的程序,通常称为智能合约(Smart Contract,所以通常会把写区块链程序改称写智能合约。合约就是运行在区块链上的一段程序完整合约pragma solidity ^0.4.4;contract Counter { uint count = 0; address owner; function Counter() { ...转载 2018-11-05 10:05:27 · 389 阅读 · 0 评论 -
01.Solidity值类型与引用类型
1.Solidity是一个静态类型的语言Solidity是一个静态类型的语言,所以编译时需明确指定变量的类型,Solidity是一个静态类型的语言转载 2018-11-04 10:45:36 · 358 阅读 · 2 评论 -
09.Solidity Types - (Dynamically-sized byte array)、(Fixed-size byte arrays)、string之间的转换关系
固定大小字节数组(Fixed-size byte arrays)之间的转换固定大小字节我们可以通过bytes0 ~ bytes32来进行声明,固定大小字节数组的长度不可变,内容不可修改。接下来我们通过下面的代码看看固定大小字节之间的转换关系pragma solidity ^0.4.4;contract C { bytes9 name9 = 0x6c697975656368756e; ...转载 2018-11-06 15:24:40 · 226 阅读 · 0 评论 -
08. Solidity Types - 动态大小字节数组(Dynamically-sized byte array)
Dynamically-sized byte arraystring 是一个动态尺寸的UTF-8编码字符串,它其实是一个特殊的可变字节数组,string是引用类型,而非值类型。bytes 动态字节数组,引用类型根据经验,在我们不确定字节数据大小的情况下,我们可以使用string或者bytes,而如果我们清楚的知道或者能够将字节书控制在bytes1 ~ bytes32,那么我们就使用byt...转载 2018-11-06 15:12:27 · 284 阅读 · 0 评论 -
07.Solidity Types - 固定大小字节数组(Fixed-size byte arrays)
固定大小字节数组(Fixed-size byte arrays)固定大小字节数组可以通过 bytes1, bytes2, bytes3, …, bytes32来进行声明。PS:byte的别名就是 byte1bytes1只能存储一个字节,也就是二进制8位的内容。bytes2只能存储两个字节,也就是二进制16位的内容。bytes3只能存储三个字节,也就是二进制24位的内容。……bytes...转载 2018-11-06 11:42:05 · 529 阅读 · 0 评论 -
12.Solidity Types - Solidity 结构体(Structs)
自定义结构体pragma solidity ^0.4.4;contract Students { struct Person { uint age; uint stuID; string name; }}Person就是我们自定义的一个新的结构体类型,结构体里面可以存放任意类型的值初始化一个结构体初始化一个storage...转载 2018-11-08 20:23:34 · 268 阅读 · 0 评论