本文是“Chainlink在智能合约中的77种应用方式”的第三篇文章,旨在介绍智能合约是如何通过Chainlink连接链下数据,并激活一系列全新的应用场景的。点击此处,了解本系列的第一篇文章和第二篇文章。
从opcode角度讲解EVM的内存机制,包括数据结构,空闲内存指针与变量赋值等
这是一个使用MetaMask签名消息,然后在链上进行验证的实用教程。
通过一个Capture the Ether挑战(模糊身份)来说明CREATE2的用法
CREATE2
以太坊以及EVM的诞生使得 Dapp这种新的业务形态成为可能。总的来说,EVM实现了一个全局的状态机,为所有的 Dapp提供了统一的状态空间;实现了图灵完备,并抽象出了账户模型,账户之间可以相...
Dapp
Foundry是一个全新的EVM开发环境。有原生的Solidity编写测试能力及强大的命令行工具支持。
compound的经济模型,包括利息产生机制,利率计算,激励计算和分配
彻底理解solidity里的storage:Ethereum Architecture(以太坊架构),Block Header(区块头),State Root,Ethereum Account,Storage Root,StateDB -> stateObject -> StateAccount,初始化一个新的以太坊账户,SSTORE,SLOAD
重入,顾名思义是指重复进入,也就是“递归”的含义,本质是循环调用缺陷。重入漏洞(或者叫做重入攻击),是产生的根源是由于solidity智能合约的特性,这就导致许多不熟悉solidity语言的混迹于安全圈多年的安全人员看到“重入漏洞”这4个字时也都会一脸蒙圈,重入漏洞本质是一种循环调用,类似于其他语言中的死循环调用代码缺陷。
“递归”
循环调用缺陷
solidity智能合约
使用检查、影响和交互模式(简称CEI:Checks, Effects, and Interactions)、互斥锁、Pull 支付方式以及gas限制都是防止可重入攻击的有效技术。