完全理解函数调用的 ABI 编码
PaymentSplitter库可以在一组领取地址无感知的情况下,将定量eth或某ERC20 token按照shares占比释放给该组中的某地址。当eth或ERC20 token被转入该合约后,在册的领取地址就可以来领取属于自己占比的那部分。各领取人的shares数量只能在该合约部署时被设置。
本文详细介绍了如何在智能合约中使用Chainlink VRF生成随机数。文章涵盖了Chainlink VRF的原理、请求随机数的方法,并通过构建一个自定义的抽奖智能合约进行了系统的示范。还提供了关于测试、部署合约和创建Chainlink VRF订阅的步骤,有助于开发者理解如何在其项目中实现该功能。
在上两篇文章中,我们分析了SolidityEVM中的存储结构,在本篇文章中,我们将详细分析EVM的calldata是如何进行编码的。
ABI(ApplicationBinaryInterface,应用二进制接口)是与以太坊智能合约交互的标准。说人话就是:给智能合约阅读的编码标准。为了应对智能合约中不同的情况,就有了不同的编码方法(合约要求的输入不一,还有省空间的问题)。关于编码方法如下:abi.encodeabi.e
以太坊中外部账户EOA可以创建账户,同样智能合约也可以创建账户。只能合约创建账户的方法有两种:creatcreat21creat使用creat就是直接new一个合约即可,使用create创建的地址的计算方法是对:部署者地址和nonce(部署者发送交易的总数)进行哈希计算。使用方法如下:
合约调用合约有五种方法
Solidity 0.8.26 发布
接收eth回调函数receive和fallback函数都是合约中用来接收以太币(ETH)并且在没有匹配到其他函数时执行的特殊函数receive()只用于处理接收eth。当合约接收到一个纯ETH转账(没有任何数据或调用信息)时,且合约中没有调用其他函数,receive函数会被调用一个
深入探讨了智能合约测试的重要性,重点介绍了使用 Foundry 的实用策略和示例。
提供编写erc20的基本思路
前端使用React的朋友,肯定都用过AntdUI插件,AntdWeb3用于链接钱包还是很方便的,现在支持EVM链,Solana链,BitCoin链,看一下效果吧!我推荐使用Next.js吧,头两天使用create-react-app各种报错,都运行不起来,后来使用Next.js
本文针对几个典型的 EVM Memory 例子进行分析,涉及到 solidity opcode,内联汇编,以及 solidity 内存安全
EVM存储结构在EVM中实际上有六个位置可以存储数据:stack,memory,calldata,storage,code(在一个特定的地址),log(触发事件)实际上深入研究的是前四个:stack,memory,calldata,storage
本文介绍了Solidity中的nodelegatecall修饰符,用于防止合约使用delegatecall来调用函数,并通过代码示例详细展示了其实现和测试方法,同时讨论了Uniswap V3使用该技术的动机。
nodelegatecall
delegatecall
使用非代理模式实现合约升级
该文章详细介绍了一个高级Solidity编程训练营,涵盖以太坊开发、Solidity编程、智能合约安全等多个高级主题,适合有经验的开发者深入学习。
Forge是一个以太坊开发框架。您可以使用它来创建Solidity项目,管理依赖关系,运行测试等等。这是一个初学者指南。我将介绍如何创建项目,管理依赖
本文记录一下UUPS代理合约无法在XLayer链上开源验证的问题。
一、理解代理模式代理模式在智能合约开发中是一种使智能合约可升级的设计模式。本质上,它允许智能合约的逻辑部分在不更改合约地址或其存储状态的情况下进行修改和升级。这种模式解决了智能合约一旦部署就不能更改的限制,为修复漏洞、添加功能或优化合约逻辑提供了可能。1.1代理模式的工作原理代理模式涉及至少
扫一扫 - 使用登链小程序
378 篇文章,1729 学分
209 篇文章,365 学分
187 篇文章,312 学分
65 篇文章,279 学分
115 篇文章,255 学分