记得朋友圈看到过一句话,如果Defi是以太坊的皇冠,那么Uniswap就是这顶皇冠中的明珠。Uniswap目前已经是V2版本,相对V1,它的功能更加全面优化,然而其合约源码却并不复杂。本文为个人学习UniswapV2源码的系列记录。

一、UniswapV2合约简要介绍

UniswapV2合约分为核心合约和周边合约,均使用Solidity语言编写。其核心合约实现了UniswapV2的完整功能(创建交易对,流动性供给,交易代币,价格预言机等),但对用户操作不友好;而周边合约是用来让用户更方便的和核心合约交互。

UniswapV2核心合约主要由factory合约(UniswapV2Factory.sol)、交易对模板合约(UniswapV2Pair.sol)及辅助工具库与接口定义等三部分组成。这次先学习UniswapV2Factory合约。

二、UniswapV2Factory合约源码一览

其文件名为UniswapV2Factory.sol,其源码为:

pragma solidity =0.5.16;im

UniswapV2核心合约学习(1)— UniswapV2Factory.sol相关推荐

  1. UniswapV2核心合约学习(2)——UniswapV2ERC20.sol

    记得朋友圈看到过一句话,如果Defi是以太坊的皇冠,那么Uniswap就是这顶皇冠中的明珠.Uniswap目前已经是V2版本,相对V1,它的功能更加全面优化,然而其合约源码却并不复杂.本文为个人学习U ...

  2. UniswapV2核心合约学习(3)——UniswapV2Pair.sol

    记得朋友圈看到过一句话,如果Defi是以太坊的皇冠,那么Uniswap就是这顶皇冠中的明珠.Uniswap目前已经是V2版本,相对V1,它的功能更加全面优化,然而其合约源码却并不复杂.本文为个人学习U ...

  3. 窗口消息——Windows核心编程学习手札之二十六

    窗口消息 --Windows核心编程学习手札之二十六 Windows允许一个进程至多建立10000个不同类型的用户对象(user object):图符.光标.窗口类.菜单.加速键表等,当一个线程调用一 ...

  4. 未处理异常和C++异常——Windows核心编程学习手札之二十五

    未处理异常和C++异常 --Windows核心编程学习手札之二十五 当一个异常过滤器返回EXCEPTION_CONTINUE_SEARCH标识符时是告诉系统继续上溯调用树,寻找另外的异常过滤器,但当每 ...

  5. 异常处理程序和软件异常——Windows核心编程学习手札之二十四

    异常处理程序和软件异常 --Windows核心编程学习手札之二十四 CPU负责捕捉无效内存访问和用0除一个数值这种错误,并相应引发一个异常作为对错误的反应,CPU引发的异常称为硬件异常(hardwar ...

  6. 结束处理程序——Windows核心编程学习手札之二十三

    结束处理程序 --Windows核心编程学习手札之二十三 使用SEH可以只关注程序要完成任务,而运行中发生的错误,系统将会发现并通知.Windows引入SHE是为了便于操作系统的开发,使用SHE所造成 ...

  7. 插入DLL和挂接API——Windows核心编程学习手札之二十二

    插入DLL和挂接API --Windows核心编程学习手札之二十二 如下情况,可能要打破进程的界限,访问另一个进程的地址空间: 1)为另一个进程创建的窗口建立子类时: 2)需要调试帮助时,如需要确定另 ...

  8. 线程本地存储器——Windows核心编程学习手札之二十一

    线程本地存储器 --Windows核心编程学习手札之二十一 C/C++运行期库使用线程本地存储器,运行期库是在多线程应用程序出现前设计的,因此运行期库里的大多数函数是用于单线程应用程序的.函数strt ...

  9. DLL的高级操作技术——Windows核心编程学习手札之二十

    DLL的高级操作技术 --Windows核心编程学习手札之二十 显示加载DLL模块: HINSTANCE LoadLibrary(PCTSTR pszDLLPathName); HINSTANCE L ...

最新文章

  1. pytorch 多GPU训练
  2. 不用 H5,闲鱼 Flutter 如何玩转小游戏?
  3. HTML5纯Web前端也能开发直播,不用开发服务器(使用face2face)
  4. HBase 配置详解
  5. commons-logging和slf4j都是日志的接口
  6. unet服务器向客户端发消息,unet
  7. 用联发科芯片的手机能升级鸿蒙吗,华为鸿蒙系统降临!首批升级手机确定,联发科芯片被放弃?...
  8. Docker 安装(使用阿里源)
  9. ShuffleNet网络学习笔记
  10. 泛微OA-测试机更改sysadmin密码为1
  11. KVM虚拟化常用API
  12. FPGA之VGA转HDMI之并行串行转换模块编写
  13. linux系统离线安装miniconda3 及创建python环境
  14. 汇编———标志(flag)寄存器
  15. Linux下Mysql数据库
  16. 2023王道数据结构考研习题汇总
  17. 中文汉字转换拼音PHP类
  18. 【人脸识别】基于dlib库实现人脸特征值提取
  19. 时隔一个多月发布原生一体化云安全产品,ZStack的发展还可以更快
  20. Python大数据分析之实时疫情数据可视化(含代码)

热门文章

  1. 手机被偷前必做两件事
  2. php ci框架查询数据库占用大量的cpu,CodeIgniter 性能优化
  3. 自动驾驶模拟软件Carla---环境搭建和编译
  4. 商务英语口语考试准备
  5. AI画师技术又精进了? AI画师三维版试玩——Dreamfields和DreamFusion向文本生成3D模型领域进发
  6. 爬虫:JS逆向之Webpack-乾坤大挪移
  7. Android事件处理之物理按键
  8. Java实现扫码二维码下载app流程
  9. win10系统下max14版本烘焙贴图后软件死机现象如何解决
  10. 【Hadoop】hive2.1在hadoop2.7.3中的可执行java代码