在本文中,通过 7 个任务,如何来编写可升级合约,测试以及自动、活动实施升级。 在 7 个任务中,分别介绍了可升级合约可能遇到的各种情况: 在新实现合约中添加函数、添加状态变量、修改状态变量可见性(修改函数)。
Solidity有两种模式实现升级:透明代理与UUPS代理, 他们的实现由细微差别,本文一起来看一看。
使用检查、影响和交互模式(简称CEI:Checks, Effects, and Interactions)、互斥锁、Pull 支付方式以及gas限制都是防止可重入攻击的有效技术。
对比使用mapping、默克尔树、及离线签名 3 中方式处理白名单的优缺点。
Openzeppelin 新增了 CrossChain (跨链)功能,看看如何使用它。
极快的测试,不再使用 BigNumber.js,只有 Solidity 代码
使用ganache的主网fork技术 搭配python友好的brownie框架,高效对合约进行开发测试。
NBA最近发行了数字藏品,然而我们发现,其售卖数字藏品的合约存在非常严重的漏洞。攻击者(“科学家”)可以通过漏洞无成本铸造藏品然后出售获利。
漏洞的成因在于对白名单用户的签名校验有安...
Solidity - 使用位运算节省 gas,在这篇文章中,我将解释其中的一些技巧,并通过一款更简单的井字棋游戏来分享我的思考过程。
在这篇文章中,我们将详细分析现有的智能合约升级策略,描述我们在实践中观察到的弱点,并为需要升级的合约提供建议。
在 Solidity 中,动态值数组是否比引用数组效率更高吗?
OpenZeppelin Hardhat Upgrades 使用教程
解决非标准 ERC20 问题
这段时间总是与NFT打交道,大部分NFT都采用了EIP721标准,且均采用了Openzepplin的EIP721实现。前段时间详细看过Openzepplin的相关实现,但是偷懒了,没有整理成文档,导致后面的记忆总是不深刻,理解也不深刻。此次正好将其实现全部整理一下。
本文讨论 Solidity 的类特性
你能做些什么来防止合约变得太大?
了解 SushiSwap 的实现细节
探索元交易的强大设计
本文通过字符串连接函数为例,来看看如何计算及对比 Solidity 函数的 gas 消耗
探索智能合约的签名
扫一扫 - 使用登链小程序
41 篇文章,405 学分
74 篇文章,295 学分
30 篇文章,252 学分
158 篇文章,161 学分
11 篇文章,160 学分