本文介绍了如何利用 OpenZeppelin Defender 在自定义的网络分叉上部署和测试智能合约。主要步骤包括:配置 Phalcon 上的分叉网络并将其添加到 Defender,为分叉网络设置部署环境,最后通过 JavaScript 代码部署智能合约,并提供了后续监控和动作设置的建议。
使用Create2工厂(0x0000000000ffe8b47b3e2130213b802212439497)创建合约并在etherscan验证
本文分析了 Tornado Cash Governance 被攻击的事件,攻击者利用 CREATE、CREATE2 和 selfdestruct 等 Solidity 特性,通过部署包含 selfdestruct 函数的恶意提案,在提案通过后删除原合约并在相同地址部署恶意合约,从而控制了 Governance 合约,盗取了大量资金,并详细解释了攻击的步骤和技术原理,以及如何利用 CREATE 和 CREATE2 部署相同地址的合约。
本文深入探讨了以太坊智能合约的变更机制,通过CREATE2与SELFDESTRUCT操作,可以实现在特定地址上更新合约逻辑。这种技术的理解对于区块链安全至关重要,同时也提出了针对可变合约的检测和防御措施。作者呼吁改变SELFDESTRUCT在以太坊中使用的现状,以增强智能合约的安全性。
本文档介绍了OpenZeppelin Contracts库中的实用工具合约和库,用于提高智能合约的安全性、处理新型数据类型以及安全地使用底层原语。包括安全工具(如Pausable和ReentrancyGuard),以及用于处理地址、数组和字符串的库。此外,还介绍了用于处理计数器、可枚举映射和集合的实用工具,以及安全使用CREATE2操作码的工具。
合约创建指南: create、create2 和 create3 的区别及应用场景
本文分析了一种利用CREATE和CREATE2操作码在不同时间将不同合约部署到同一地址的攻击技术,并提供了相应的防御策略。
CREATE
CREATE2
一、Create2操作码Create2操作码常常被用来在一个合约中创建另一个合约,这是在智能合约中创建另一个合约的方法之一,另一个方法是通过Create操作码,本文重点关注Create2操作码的工作原理以及使用方式。小小提醒:本文中所提到的几种字节码词汇之间的关系:creationCode(b
本文使用create2创建合约、预测合约地址
最近在学习UniswapV2,今天尝试将UniswapV2的源码在本地编译和测试,过程中遇到了一个关于pair地址的问题,在此记录一下发现原因并解决的全过程。
CREATE2是以太坊的一条EVM指令,用于部署智能合约。与传统的CREATE指令不同,CREATE2允许通过计算得到合约地址,而不是依赖发送方的nonce。这种方式使得合约地址在部署之前就可以被预测,方便一些高级用例,例如「工厂模式」和「合约钱包的预部署地址」。
Uniswap 交易对地址是如何计算出来的
CREATE2是Solidity中的一个操作码,用于创建新的智能合约。它是在以太坊的君士坦丁堡硬分叉中引入的。
本文主要关注以太坊智能合约的进阶操作,包括合约的四种调用方式、合约的创建、地址预测、发送 eth 的三种方法、接收 eth 的三种不同方法等内容。通过 solidity 代码配合 foundry 进行测试。适合新手小白学习
通过一个Capture the Ether挑战(模糊身份)来说明CREATE2的用法