前言
写本文的目的是记录自己对于区块链技术的学习,方便日后查漏补缺,solidity是一门智能合约语言,是静态类型语言,支持继承等特性。solidity中不存在 undefine和null的概念,每个新声明的变量都会根据其类型赋予默认值。
一、单位
单位之间的换算就是在数字后边加上wei
,gwei
或ether
来实现的,如果后面没有单位,缺省为 wei。
- 1 wei == 1
- 1 gwei == 1e9 wei
- 1 ether == 1e9 gwei
二、时间单位
秒是缺省时间单位,在时间单位之间,数字后面带有seconds
、minutes
、hours
、days
和weeks
的可以进行换算,基本换算关系如下:
1 == 1 seconds
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks == 7 days
years
已经在0.5.0版本去除了,因为闰年的原因。
三、区块和交易属性
blockhash(uint blockNumber) returns (bytes32)
:指定区块的区块哈希 —— 仅可用于最新的 256 个区块且不包括当前区块,否则返回 0 。block.basefee
(uint
): 当前区块的基础费用block.chainid
(uint
): 当前链 idblock.coinbase
(address
): 挖出当前区块的矿工地址block.difficulty
(uint
): 当前区块难度block.gasl