Proxy库对外只暴露了fallback和receive函数,是代理合约的基础实现。所有对Proxy合约的call都将被delegatecall到implement合约且delegatecall的执行结果会原封不动地返还给Proxy合约的调用方。通常称implement合约为代理合约背后的逻辑合约。
看了多遍文章,把自己的理解梳理了下重新描述了一遍
Viem是一个相当新的web3库,它专注于EVM,提供了更好的开发体验,更小的包体积等等。在本文中,将使用foundry部署一个简单的合约,并在node环境下使用viem与部署的链上合约执行读写交互。
主要对升级点大致的介绍了下,产生的部分影响也描述了下
在Rust编程语言中,变量的可变性指的是变量在声明后是否可以改变其值。Rust中的变量默认是不可变的,即一旦赋值后,不能更改其值。要使变量可变,必须使用mut关键字来声明。
上一篇文章我们使用Rust编程语言创建一个猜数字游戏,仅仅只能打印出来用户的输入,我们这一小节会引入更多的功能。首先,我们希望系统给我们生成一个随机数,我们也输入一个数字,然后和系统生成的随机数来进行比较.
这篇文章我们将使用Rust编程语言创建一个猜数字游戏,并在此过程中学习Rust的一些基础知识。
在Solidity中,向其他合约或地址发送主币(ETH)有三种主要方法:transfer、send、call; 这三种方法各有自己的特点,并且在Gas消耗上也有不同
反闪电贷协议EIP7690
在Solidity中的继承和Solidity中的多线继承这两篇文章中,我们已经学习了Solidity关于继承的相关知识点,这篇文章,我们再聊一个更细致的话题:如何运行父级函数的构造函数。
如果浏览器插件钱包需要向Dapp提供以太坊Provider能力,必须实现EIP1193协议。根据EIP1193协议描述,要求插件钱包将Provider实现注入到window.ethereum。这就导致了一些问题。注入冲突
整型溢出是智能合约中常见的漏洞之一。以太坊虚拟机对整数使用固定大小的数据类型,一个整数变量仅能表示一个固定范围的数值,比如uint8类型只能保存[0,255]。当把超过某个数据类型范围的数值保存到这个变量时,就会产生溢出。例如将一个uint8类型,值为0的变量进行减1操作时,计算结果会等
重入攻击(ReentrancyAttack)是一种常见的智能合约安全漏洞,指黑客利用合约中存在的逻辑漏洞,在调用合约函数时,利用合约逻辑漏洞,反复调用合约的函数,并利用这种递归调用的机制,以欺骗合约的计算,从而使攻击者获得非法利益。重入攻击的本质是合约内部调用的函数未能恰当地处理合约状态的
这条款项描述了构造器模式:对于复杂的数据类型提供对应的构造器类型buildertype,使得用户可以方便地创造该数据数据类型的实例。Rust要求开发者在创建一个新的struct实例的时候,必须填入struct的所有字段。这样可以保证结构体中永远不会存在未初始化的值,从而保证了代码的安
Alloy 是与基于 EVM 的区块链交互所需的所有实用工具
使用 Risc0 创建你的第一个 ZK 项目
SUI Move官方示例合约实践——NFT类:零信任原子交换(trustless swap)
Nervos Network 可扩展的一层区块链为比特币 Layer 2 (L2) 提供支持。 采用了一个定制的模型(Cell 模型)进行状态存储,以及定制的虚拟机(CKB-VM)来执行交易。
在Solidity中的继承这篇文章中,我介绍了solidity中关于继承的相关概念和例子。本篇文章,我们来一起探讨一个更加复杂的话题多线继承。基本概念Solidity支持多线继承,即一个合约可以同时继承多个基类合约。这可以使合约代码更加简洁,更容易复用代码
扫一扫 - 使用登链小程序
56 篇文章,289 学分
108 篇文章,257 学分
15 篇文章,208 学分
16 篇文章,177 学分
3 篇文章,172 学分