block chain.

essentials:

provider, signer, contract.

智能合约:运行于eth网络上的代码(功能)和数据(状态)的集合。

账户,地址及状态的映射,状态有四个字段: nonce: 从账户发送的交易数量的计数器. balance: wei数量。 codeHash(对应EVM代码的hash) ,storage hash. EOA, contract account.

状态:所有地址及账户的状态, 状态的切换由transaction打包的交易触发。

transaction: 单签名的指令.两种: contract creation 和 message call.

EVM

PC, stack, memory, storage

Ethers/Web3js

区别在于key管理与blockchain的交互。web3假设有一个local node(负责管理key, 签署transaction, 与eth blockchain交互), 现实中大部分用户不会运行geth这样的节点。由metamask仿真一个这样的环境.

Etherer.js把node 分成: wallet:管理key和签署transactions; provider:当作eth网络的匿名连接,检查状态和发送交易.

contract object: 方法,编码及解码数据(ABI的功能), meta-class: 方法在运行时构建. ABI来自Solidity编译器.

Eth 基础:

logs,Filtering: provider events api, contract events api, contract events api 也提供higher-level methods.

filter: 最多支持4 topic-sets.(同时4个条件)

solidity topics:

类型address, public, (public关键字会创建getterfunction),

address, uint, mapping, event

msg, tx, block 是特殊的全局变量. msg.sender:当前调用 函数的address.

mapping

Subscribe to sanmazi
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.