16个小技巧快速写好智能合约
该软件包为您的Hardhat脚本添加了功能,以便您可以为您的合同部署和升级代理。取决于ethers.js。
基于函数式语言的 Ethereum 智能合约数据读取全过程
本文介绍了“非结构化存储”代理模式,它是 OpenZeppelin 升级的基本构建块。
求推荐ABIEncoderV2的相关材料,谢谢
你能做些什么来防止合约变得太大?
这篇文章深入探讨了Solidity中的delegatecall方法,阐明了其工作原理、操作的安全性以及如何有效管理合约状态变量布局。
已下架已下架
了解 SushiSwap 的实现细节
探索元交易的强大设计
本文通过字符串连接函数为例,来看看如何计算及对比 Solidity 函数的 gas 消耗
探索智能合约的签名
Solidity 0.8.5 新变化
工厂设计模式是编程中相当常见的模式。这个想法很简单,不是直接创建对象,而是由对象(工厂)来创建对象。在Solidity中,一个对象就是一个智能合约,所以合约工厂可以为你部署新的合约。
本文揭示了在Solidity编译器版本0.8.3及以下中存在的内存隔离漏洞,该漏洞影响了ABI反序列化过程,可能导致恶意字节缓冲区的攻击。作者详细解释了ABI规范、序列化和编码格式,以及引入的具体漏洞和影响,并指出该漏洞已在0.8.4版本中修复。
文章详细介绍了在Solidity编译器中发现的一种代码生成漏洞,允许恶意存储字段欺骗Solidity,将不相关信息插入通过abi.encodePacked等方法生成的数组中。该漏洞已在Solidity 0.8.0版本中修复。
abi.encodePacked
Certora团队的John Toman发现了Solidity 0.7.3中的一个bug,该bug导致编译器在一些写入操作中错误地将垃圾数据写入持久存储。这一问题可能导致合同执行成本增加,但目前尚未确认其安全影响。Solidity编译器团队已在0.7.4版本中修复了该bug。
本文讨论了2019年在Solidity编译器中发现的一个内存管理漏洞,导致动态数组的长度计算溢出,并可能导致内存损坏。文章深入分析了该漏洞的原理、示例代码及其潜在影响,还探讨了如何避免及检测此类漏洞的方法。最后,作者提到应用形式化方法来提高编译器的正确性和区块链智能合约的安全性。
truffle/hardhat 单元测试如何切换不同的账号(地址)
从技术上解释事务输入数据是怎么一回事,它实质是什么,又是怎么工作的。
扫一扫 - 使用登链小程序
379 篇文章,1095 学分
67 篇文章,500 学分
209 篇文章,390 学分
116 篇文章,353 学分
145 篇文章,298 学分