该提案定义了一个系统,为每个ERC-721代币提供了一个智能合约账户。这些与代币绑定的账户允许ERC-721代币拥有资产并与应用程序进行交互,而无需对现有的ERC-721智能合约或基础设施进行更改。
在这篇文章中,详细说明的事件的日志是如何生成,索引是如何影响日志的生成,字符串等变长数据是如何处理的。同时介绍了在前端如何获取事件。
在 DeFi 合约中,常见模式是Checks-Effects-Interactions(检查-生效-交互)
模式, 不够好,它会让开发者忘记协议的核心不变性。
作者提出了一个新的模式:FREI-PI: 功能检查-生效-交互+协议不变性
,让我们更多关注协议的不变性(安全性)。
本文会涉及到slither中几类call的区别,slither遍历node时的常用的递归框架,以及将这两类知识应用到批量函数调用风险的检测中。
1.理解自杀函数检测自杀函数的风险与应用场景。自杀函数可以做为一种隐藏的transfer的手段。 2.shift汇编函数与其它语言的参数不一致,容易混淆。
Hook 是一个强大功能,可以带来更灵活的组合性。向任何强大的武器一样,使用不当可能会伤害到自己。 当任意调用与 Hook 在一起,更要小心。
09.状态变量覆盖的含义状态变量覆盖是指子类中的状态变量将父类的状态变量进行覆盖,子类和父类使用了相同名称的状态变量。在这种情况下,如果操作子类的状态变量不会修改父类的状态变量,而此时代码的真实意图可能是为了修改父类的状态变量。
Yul 入门指南
在 L2 成为主流后, 在多个L2 的钱包管理是一个需要解决的问题,使用keystore合约和钱包合约分离的架构是一个可行的方式, Vitalik 在文章中探讨了 3 种可能跨链证明方法来实现该架构。
为 DeFi 带来依赖的多样性, 而不是依靠单一的预言机。DeFi 原语应该是零治理、无可升级性、无预言机或任何形式的外部依赖。
以太坊的下一次升级主要是引入了EIP4844(Proto-danksharding), 这篇文章介绍了Proto-danksharding 是如何降低大幅 Rollup 的成本, 以及他有哪些局限性。
2023 领先的区块链数据 API 服务
如何创建 零知识证明并在Solidity 合约中验证
使用好 NatSpec 注释规范,可以帮助开发者为智能合约创建更有效的文档。
zellic 整理在审计过程把不断地看到Bug ,方便我们审视自己的Move合约。
理清账户抽象的关键概念, 以及为什么 ERC-4337 很重要
Tornado 治理攻击的关键是在提案通过后,在被执行的提案地址被销毁了 之后部署了一个攻击合约。