#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies
- address
- 类型是160位的值
- 不允许任何算数操作
- 适合存储合约地址或外部人员的密钥对
- public
- 自动生成一个函数
- 允许在合约之外访问状态变量的当前值
- mapping
- event
- 声明一个事件,在send函数的最后一行被发出
- 监听该事件的listener都可以收到通知
- 默认 算数检查模式,如果表达式数值溢出,会被还原
- payable:修饰符,允许在调用的同时交易货币
以太坊虚拟机 EVM
- 概述:EVM是智能合约的运行环境,完全隔离,无法访问网络、文件系统、其他进程、其他合约
- 账户:对EVM来说,两类账户是一样的
- 外部账户:由公钥决定
- 合约账户nonce:创建该合约时确定,由创建者地址及该地址交易数量决定
- 每个账户有一个以太币余额 balance,单位是Wei,1ether是10**18wei
- 交易
- Gas
- 存储、内存和栈
- 每个账户都有一个kv对形式的持久化存储,不可枚举
- 内存是线性的,可按字节级寻址。读长度限制在256位,写可以是8位或256位
- 指令集
- 消息调用
- 委托调用(delegatecall)
- 特殊类型的消息调用,区别在于,目标地址的代码将在发起调用的合约上下文中执行
- 相当于,实现了库的能力
- 日志
- 合约创建之后就无法访问日志数据
- 区块链外可以高效的访问