摘要:
在使用 Ethers.js 进行智能合约开发时,我们经常需要让不同的账户调用合约方法,比如: 部署者 部署合约 用户A 进行交互 攻击者B 试图恶意调用 在这些情况下,Ethers.js 提供了 connect(signer) 方法,使我们能够灵活地切换调用者身份。本文将详细介绍 connect 的 阅读全文
摘要:
Delegatecall 简介 1.1.什么是 delegatecall ? .delegatecall() 是 Solidity 中的一个方法,用于从一个原始合约中调用目标合约中的一个函数。然而,与其他方法不同的是,当使用.delegatecall()在目标合约中执行函数时,上下文从原始合约中传递 阅读全文
摘要:
1. 什么是 CREATE2? CREATE2 是以太坊虚拟机(EVM)中的一个操作码(opcode),用于确定性地创建合约,使合约地址可预测。这与 CREATE 操作码不同,CREATE2 允许在合约部署前 计算出合约的地址,这对于智能合约钱包、工厂合约和 Layer 2 解决方案至关重要。 CR 阅读全文
摘要:
在使用 Hardhat 和 Ethers.js 进行智能合约开发时,我们经常会看到 artifacts/ 目录,这个目录里存放的是 Solidity 合约的编译产物,包括 ABI、字节码和元数据。本篇博客将详细介绍 artifacts 是什么、它的目录结构,以及如何在部署合约时使用它。 1. 什么是 阅读全文