本文介绍了如何使用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
代币数量,超出了总量很多,还能成交?
状态可变性是一个可靠的概念,它定义了函数的行为以及它们如何与存储在区块链上的数据进行交互。在本文中,我们将可以了解不同的状态可变性修饰符,以及如何在编写优化的智能合约时应用它们。
解读两种常见合约的坑,有tx和合约代码,真实案例。
区块链领域的安全问题不容忽视,这就要求开发者必须时刻小心谨慎,养成防御性编程思维
黑客往往会利用溢出构造一个极小值/极大值,从而绕过某些检查,使巨额恶意转账得以成功
合约开发中遇到很多质押挖矿类的需求,单币质押、双币质押、算力挖矿等等,这些需求大多都是美秒产多少币(每个块产多少币),根据质押的量加权平分产出的币。如果中心化的程序很容易完成这个需求,但在区块链上没有定时器,不能实现大量循环。这些局限让我们体会了区块链的极简之美。
本篇文章我们简单介绍了智能合约的一些基础概念,并针对没有编程基础的同学介绍了编程中常见的概念。和大家一起分析了个简易版的智能合约帮助大家了解智能合约的整体结构。最后结合智能合约比较热门的应用NFT了解了接口的概念,再次讨论了什么是上链。
ethers-multicall项目解读,站在代码角度看问题。
tx.origin、msg.sender有什么不一样
在某些业务,市场或行业,存在不允许双向发送付款的场景,即只能从账户A向B发送付款,而不能从账户B向A发送付款。这称为单向支付通道。
ECDSA 在多签中的运用,一个多签转账的例子。
ECDSA的使用方法,测试用例,多签基础
再谈无 ABI函数调用
一个蜜罐合约的解析(二)调用隐藏
扫一扫 - 使用登链小程序
382 篇文章,777 学分
117 篇文章,513 学分
67 篇文章,488 学分
113 篇文章,468 学分
229 篇文章,354 学分