Viem是一个相当新的web3库,它专注于EVM,提供了更好的开发体验,更小的包体积等等。在本文中,将使用foundry部署一个简单的合约,并在node环境下使用viem与部署的链上合约执行读写交互。
本文记录几个ERC721的常见问题解析。
UniswapV3分析(一)本文将对复杂的Uniswap3进行分析。准备官方博客白皮书coreperiphery架构v3在代码层面的架构和v2基本保持一致。core的功能主要包含在以下2个合约中:UniswapV3Factory:提供创建pool的接口,并且追踪所有的pool
Web3这一块非常有意思,概念什么也很新颖超前,这篇文章主要是给大家讲讲关于Web3我的理解,以及如何入门去做这一块的开发。
Swap可分为两种场景:单池交易和跨池交易。在PoolManager合约里,要完成交易流程,会涉及到lock()、swap()、settle()、take()四个函数。
前一篇文章我们已经知道了创建新池子的流程,那接下来就要添加流动性了。而其实,在PoolManager合约里,添加和移除流动性都是在同一个函数里统一处理的。当然,要完成添加或移除流动性的全流程,会涉及到多个函数。接下来我们展开一一细说。
创建池子的底层函数是PoolManager合约的initialize函数,其代码实现并不复杂
实现用户层面的流动性头寸管理的合约是NonfungiblePositionManager合约,其实现比较复杂,还继承了很多子合约,限于篇幅,我们无法全都一一讲解,就只能挑一些重点的来讲。
UniswapV3Factory合约主要用来创建不同代币对的流动性池子合约,其代码实现并不复杂
UniswapV3于2021年5月上线,相比UniswapV2,改动很大,也变得复杂很多。