PullPayment库是对Openzeppelin中Escrow库的一种封装。从安全角度看,PullPayment是一对多发送eth的最佳解决方案。它可以防止收款人阻塞发送eth的行为并消除重入问题。
ReentrancyGuard库是一个用来防御函数重入的工具库。函数被修饰器nonReentrant修饰可确保其无法被嵌套(重入)调用。本库的代码逻辑上只实现了一个重入锁,所以被nonReentrant修饰的函数之间也是无法相互调用的。
nonReentrant
本文主要介绍了直接在函数中 "引用" Storage;ERC-7201:命名空间存储布局,通过 assembly 在我们想要的 slot 位置定义状态变量
EVM 对象格式- EOF 的好处
在solidity中一旦出现异常,则当前交易将会回滚(即相当于没有发生过,除了你的gas被消耗了)。solidity里抛出异常的方法有三种:errorrequireassert对于可能出现异常抛出的地方,solidity也提供了try-catch方法进行异常捕获处理。
solidity
本文介绍了作者和合作者构建的一款高性能自动化Solidity智能合约Gas优化工具,该工具通过在源代码和中间表示层进行优化,从而有效地节省Gas。该工具提供了命令行界面和Web应用程序两种部署方式,支持结构体打包、存储变量缓存和调用数据优化等功能,旨在帮助开发者编写更高效的Solidity代码,并最大限度地降低智能合约在区块链上的执行成本。
SafeTransferLib的用处//这个库就是为了防止像usdt那样没有返回值的transfer,调用方式usingSafeTransferLibfortoken;token.safeTransferFrom
VestingWallet库可给指定的受益人按时间线性释放锁在合约内的Eth或Erc20 token。任何转移至本合约的token都必须遵循释放模型。开发者可通过重写vestedAmount(uint64)或vestedAmount(address,uint64)来自定义token释放模型。
vestedAmount(uint64)
vestedAmount(address,uint64)
完全理解函数调用的 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
扫一扫 - 使用登链小程序
116 篇文章,474 学分
406 篇文章,412 学分
171 篇文章,318 学分
67 篇文章,285 学分
121 篇文章,274 学分