在本文中,我们将介绍一些最佳的欺诈和风险监控工具。
ERC1967Proxy库实现了一个基于ERC1967标准的代理合约。通过改变存储于ERC1967标准规定的_IMPLEMENTATION_SLOT号slot中的代理合约地址,代理合约便实现了合约逻辑可升级的功能。
ERC1967Upgrade库实现了基于ERC1967标准(代理合约的slot分布)的slots读写函数,并在对应slot更新时emit出标准中相应的event。对于各种可升级合约和代理合约的实现而言,本库的作用举足轻重。
EVM(以太坊虚拟机)的堆栈指令是智能合约操作的基础,使用这些指令可以对堆栈中的数据进行各种操作。
使用Solidity有一段时间,同步沉淀下来一些好用的工具以及Solidity合约的常用技巧分享,这些知识都是价值X亿,希望对大家有帮助
在以太坊上进行交易和执行智能合约时,Gas费用是一个重要的考虑因素。Gas费用不仅影响用户的成本,也影响区块链的效率和吞吐量。以下是一些常见的以太坊Gas优化方法:1.优化智能合约代码a.减少存储操作存储(Storage)操作是最昂贵的操作之一。尽量减少对状态变量的写操作。使用map
警惕科学家钓鱼合约
本文提供了对智能合约暂停功能设计的一种改进方案
ERC-1363 标准在 ERC-20 标准上的补充,可以在转账的时候触发 Hook 的调用。
在Solidity中,view和pure是用于修饰函数的两个关键字,它们表明了函数对区块链状态的修改程度
Solidity中,自毁合约(Self-DestructContract)是一种能够销毁自身并将剩余的以太币(Ether)发送到指定地址的智能合约。自毁合约通过调用selfdestruct函数实现,这个函数会删除合约的代码和存储,从而释放网络资源。
变量 accountRoles 占用的 slot = 0, slot0里面存储的值也是0. 因此删除 delete accountRoles 并不会删除整个的storage(即把整个的storage置0)
所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成了重中之重,也是所有编程语言设计的难点之一。
Clones库是最小代理合约的工厂合约实现,也称之为克隆工厂。ERC1167指定了一种将全部调用都delegatecall到一个已知固定地址的最小字节码实现,它可以以一种不可变且成本极低的方式克隆目标合约。
delegatecall是Solidity中的一种低级函数调用方法,它允许一个合约以调用者(caller)的上下文(context)执行另一个合约的代码。这意味着被调用的合约中的msg.sender、msg.value和存储都会是调用合约的上下文。
EIP-6963 解决同时多个钱包提供者的烦恼,本文介绍如在在前端 React应用中集成 EIP-6963 。
本文主要讲不规则继承下合约的插槽问题和调用函数问题钻石继承的插槽问题试问现在有上图这样的继承关系,abcd中各有一个变量,请问他们在插槽中的顺序是什么样的这要取决于D是在继承bc时的写法contractDisB,C{如果是这样写的,那么b的变量就排在c的变量前面,此时可以把c当
在Solidity中,call和staticcall是用于与其他合约进行交互的低级函数。这些函数允许合约调用其他合约的函数,发送以太币,以及检查其他合约的状态。
Farcaster 是一个去中心化的社交网络平台。Farcaster Frames 允许开发人员创建在 Farcaster feed 中运行的集成应用程序。用户可以在不离开平台的情况下与各种应用程序(如投票、游戏和其他互动体验)进行交互。
使用代码块解决stacktoodeep你是否也有过这样的报错信息:“stacktoodeep”这是因为solidity一个函数中可容纳的变量的数量最大为16个,超过这个数量就会报错那如果想在函数中声明更多的变量该怎么办呢?可以使用代码块如下所示://SPDX-License-I
扫一扫 - 使用登链小程序
58 篇文章,243 学分
108 篇文章,211 学分
15 篇文章,185 学分
17 篇文章,162 学分
58 篇文章,154 学分