通过Timelock合约可以引入了一种延迟函数执行的机制。如果想让某个函数调用满足一定的时间约束时才执行,可以在Timelock中注册该调用,后面也可以取消注册。
本文阐述了一种可以方案,让合约同时支持NativeETH,ERC20,ERC-permit,Permit2标准
详解 ERC-7201 存储命令空间
Human-Readable ABI 方式调用solidity 合约,go版。
改什么把map改成array比如我们现在有三种优先队列的实现.当前mainet下最节省gaslibraryHeapMapping{usingSafeCastfor*;structUint256Heap{//键是节点在堆中的位置(索引)
作者讨论了智能合约开发中编程语言特性的重要性,以期提升安全性和效率。通过回顾OpenZeppelin Contracts的开发经验, 强调了安全抽象和防错设计的重要性,同时指出手写汇编来优化性能,有可能导致安全隐患。最后,提出了一个新EVM语言的构想,旨在结合功能语言的优势,推动编程语言设计的创新
Web3.py 开发者指南
深入了解最小代理合约
深入探讨代理(Proxy) 、可初始化代理、可升级代理、透明代理、UUPS 、信标代理、 变形合约
1、test脚本中如何获取合约中的状态变量//合约中public类型的状态变量支持getter()特性,可以直接使用部署合约的实例调用如:vault.token()contractVault{//这里的token属性是public,自带getter()方法IERC20p
在外部审计前 使用不变量模糊测试之前找到高风险漏洞
有时Solidity语言本身的数据结构无法很好地满足开发需求,此时我们需要实现相关库。本文介绍一个双向链表的库合约,在其它合约中引入即可使用。
透明代理vsUUPS:智能合约升级模式全景解析与实用指南随着区块链技术的不断发展,智能合约的升级能力成为项目长期发展的关键需求。其中,透明代理(TransparentProxy)和UUPS(UniversalUpgradeableProxyStandard)是两种主流的升级模式。本文
以太坊是一个公共网络,在设计合约的接口时,除了考虑己方的交互外,还应该考虑公众是否方便获取到合约中的数据。
在Solidity中,接口(interface)和抽象合约(abstractcontract)都是用来定义合约的抽象行为,它们有相似之处,但也有一些关键的区别。下面是它们的用法、区别和联系。接口(Interface)接口是合约的一个非常简单的抽象,定义了合约应当实现的外部函数签名,但不包括
Natspec,NaturalLanguageSpecification,是使用自然语言注释向Solidity代码添加文档的标准格式。Natspec注释使Solidity代码更具有可读性和理解性。
基本定义本节是我们合约的开头,我们首先来介绍下合约的文件结构。一个单个合约文件的结构需要清晰、有条理,便于阅读、理解和维护。文件头部声明SPDX-License标识符用于声明合约的许可证类型(MIT、Apache-2.0等)。
今天,终于把实战课程的所有项目代码全都搞完了。整个工程的代码量真的不少,包括合约、前端和很小部分的Go后端,差不多花了我一个月的时间。这里面有不少比较复杂的逻辑,还踩了不少坑,但一个个坑填完,对我自己的知识体系其实也完善了不少,这对于我接下来做项目也将会产生很大帮助。我在几天前的文章《汇报下我
评估各个 AI 编程助手在 Solidity 语言上的表现
大约一年前,我开始接触区块链技术,并决定深入学习Solidity。Solidity是以太坊智能合约的主要编程语言,它借鉴了C++、Python和JavaScript的语法特点。最初,我对Solidity的基本语法和数据类型进行了系统的学习,逐渐熟悉了如何编写简单的智能合约。我在过去一
扫一扫 - 使用登链小程序
41 篇文章,410 学分
74 篇文章,302 学分
30 篇文章,260 学分
158 篇文章,165 学分
11 篇文章,164 学分