## Vyper bug 以太坊基金会在对Vyper编译器进行安全审计的时候,发现基于Python编写的Vyper代码实现尚存在bug且修复难度大,因此决定暂时把该项目独立出去,让Vyperlang团队自主解决问题。 ## 以太坊基金会迎来新成员 学术咖Bar...
## 基本概念 Solidity是一种面向对象的编程语言,它支持合约之间的继承。继承允许一个合约获取另一个合约的所有非私有属性和函数,这样就可以重复使用代码,降低重复工作量。 ## 继承关键字 在Solidity中,继承是通过`is`...
NFT 市场虽然很火,但高昂的 gas 费用和繁琐的操作步骤一直让用户头疼。每次交易都得授权,gas 费蹭蹭往上涨,体验不太好。为了解决这些问题,我写了一个 NFT 市场应用:“NFT Market Plus”,使用了 `ERC20Permit` 和 `EIP-712` 来优化 ...
# 交易回滚攻击 ## 原理分析 [以太坊 EVM](https://learnblockchain.cn/article/1229) 支持交易回滚,合约可以使不满足条件的调用失败,从而回滚部分或者整个交易。 - 交易回滚 使用 `assert()`,`require()` 和 `revert()` 可以使不满足条...
# 可扩展的 \`Safe\` 架构 本文档概述了一个\*可扩展的\* \`Safe\` 架构,旨在增加 \`Safe\` 的新型集成/应用。 以下指导原则已被**严格**采用: 1. \`SafeProxy\` 的状态**绝对不能**被修改,以确保最大程度的安全性。 2. 架构内不使用 \`...
> 📚 作者:Henry > 🧱 系列:《[ERC 系列标准全景图解](https://learnblockchain.cn/column/141/intro)》 · 第 3 篇 > 👨💻 受众:Web3 前端工程师 / 区块链开发者 / Web3入门者 > 👉 系列持续更新中,建议收藏专栏或关注作者 ## 🧠 为什...
### 0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 #### 0.1 draft-ERC20Permit.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/token/ERC20/extensions/draft-ERC20Permit.sol ERC20Permit库是ERC20的拓展。本库通过permit方法允许...
# 1. **简介** 如果您想自动获取 ERC20 代币的元数据,我们有一个方便的解决方案:Chainbase API 的 **`getTokenMetadata`**。使用此 API,您可以轻松获取任何 ERC20 代币的元数据,只需提供其合约地址即可。 在本文中,我们将介绍使...
`Berachain` 是一个高性能 EVM 兼容 L1 区块链,利用流动性证明 (PoL) 作为共识机制,在执行层方面,Berachain 与以太坊虚拟机(EVM)运行时环境相同,可以使用现有的未经修改的执行客户端(例如 Geth、Reth、Erigon 等)来处理智能合约...
- Ethereum ETL 官方github链接:https://github.com/blockchain-etl/ethereum-etl - 作用:将以太坊区块链数据导出到 CSV 或 JSON 文件 最近有位朋友需要做一个链上数据分析的项目,需要将全链的数据清洗一遍,导入数据库以后,进行大数据分...
## 用于升级 如果你的合约将要以可升级性进行部署,例如使用 [OpenZeppelin Upgrades Plugins](https://learnblockchain.cn/article/15711/),你将需要使用 OpenZeppelin Contracts 的 Upgradeable 变体。 这个变体可以作为一个单独的包 `@openzeppelin/contracts-up...
NFT (Non-Fungible Token) 是一种基于区块链技术的数字资产,它具有唯一性和不可互换性。每个 NFT 都有一个唯一的标识符,并且可以包含各种类型的数据,如图像、音频、视频等。NFT 在区块链上记录了所有权和转让历史,使其在数...