我们通过delegatecall这一方式实现了合约升级,同时通过对合约状态存储的理解明白了为什么会存在存储冲突并采用继承的方式进行规避,最后我们的升级是建立在代理合约的fallback函数之上的,这个函数没有返回值,我们通过Solidity Assembly的方式进行数据返回。合约升级在技术上是不可或缺的手段,较好的使用可以帮助我们修复合约漏洞,对合约进行功能迭代,但如果使用不当则会造成较坏的影响,所以合约升级应该配合有效的升级治理方案。
Solidity - 使用位运算节省 gas,在这篇文章中,我将解释其中的一些技巧,并通过一款更简单的井字棋游戏来分享我的思考过程。
本系列题目出自推特博主@the_ethernaut系列推特。 本人是在准备面试过程中,总结一些有意思的题目。 本文永久链接:https://learnblockchain.cn/article/3860
本系列题目出自推特博主@the_ethernaut系列推特。 本人是在准备面试过程中,总结一些有意思的题目。 本文永久链接:https://learnblockchain.cn/article/3845
总结常见合约漏洞,然后分析开源的合约审计工具,最后提供字节码分析的方法。
ETH 多智能合约监控框架,针对智能合约监听做了统一封装,提供handle支持业务实现个性化操作。
本文将展示如何通过 Echidna 工具测试 智能合约
以太坊智能合约开发工具链
随着Web3的迅猛发展,各种智能合约层出不穷,某些智能合约中的漏洞很致命的:无论是以代币还是以太币的形式,合约可以管理重要的财产资源,漏洞造成的损失将可能以数百万美元计。不过,以太坊区块链上的代码比任何单个合约都更重要:智能合约库代码。
普通开发者需要了解的优化 Solidity 合约的基础
如何发送以太币?
最近大家都在谈论APE的空投被撸羊毛的事件,老板也让我分析一下。这里我就把我自己分析的部分贴出来,包括一些POC,欢迎讨论
Uniswap 交易对地址是如何计算出来的
Remix 编译器介绍,智能合约部署在以太坊测试网
本文介绍了如何使用Hardhat工具在以太坊主网分叉中设置和修改存储变量的值,特别是在真实合约中找到各种类型变量的存储位置,并通过实用示例展示如何修改公共变量、映射和数组。通过这篇教程,开发者或白帽黑客可以安全地模拟链上操作,理解合约的存储布局和修改过程。
整体的思路是特洛伊木马token的思路,重入masterChef中的 depositByAddLiquidity方法。该方法的核心错误逻辑在于:它只检查了lpToken的地址合法性,没有检查token0,token1的地址合法性。从而让token0可以做成一个特洛伊木马,在token0里面transfer一个合法的token,从而成功添加流动性;而导致deposit重复计算。
字符串格式化函数在应用开发时经常用到,而在合约中使用场景似乎没有那么多,然而要实现这个函数,则需要先解决一些问题,本文就探讨一下如何来解决这些问题。
web3 ,ethers对比
项目开发中还有另一种收益产生的情况,不是每个块或者每秒产出固定的数量,而是每次打进质押合约一笔 就加权平分一笔,这时质押算rewardPerTokenStored数值方法就得做更改,只要理解算法是用的每个阶段的挖矿产量一切迎刃而解。
rewardPerTokenStored
原文:https://noxx.substack.com/p/evm-deep-dives-the-path-to-shadowy?utm_source=url&s=r 译文出自:Shenstone。 译者:Shenstone。 校对:Shenstone。 本文永久链接:https://learnblockchain.cn/article/3647
扫一扫 - 使用登链小程序
114 篇文章,742 学分
388 篇文章,473 学分
67 篇文章,423 学分
163 篇文章,344 学分
118 篇文章,341 学分