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

在上一篇文章中已经学习了UniswapV2核心合约中的第一个源码–合约UniswapV2Factory.sol的源码。这次我们来学第二个核心合约–UniswapV2ERC20.sol的源码。它是交易对合约的父合约,主要实现了ERC20代币功能并增加了对线下签名消息进行授权的支持。它除了标准的ERC20接口外还有自己的接口,因此取名为UniswapV2ERC20

建议读者在开始学习之前阅读我的另一篇文章:UniswapV2介绍 来对UniswapV2的整体机制有个大致了解,这样更有助于理解源码。

一、合约源码

照例先贴出合约源码,该合约也不长,代码只有94行(包括空行):

pragma solidity =0.5.16;import 

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

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

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

  2. UniswapV2核心合约学习(1)— UniswapV2Factory.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. 4招教你零基础入门Python
  2. PM配置详解之三:维护计划、工作中心、作业列及产品资源与工具
  3. PAT甲级1023 Have Fun with Numbers:[C++题解]高精度加法和两个vector大小比较
  4. 基于京东手机销售数据用回归决策树预测价格
  5. (转)Android中尺寸单位杂谈
  6. [JavaWeb-MySQL]DDL_操作数据库,表
  7. 编译ROS-Academy-for-Beginners
  8. Radon变换——MATLAB
  9. 快速了解安卓四大组件
  10. 使用java语言实现一个动态数组(详解)(数据结构)
  11. 苹果MacBook Pro笔记本使用U盘重装win10系统教程
  12. speechrecognition
  13. Ubuntu18.04 安装NVIDIA英伟达驱动教程
  14. 抖音壁纸小程序源码最新版,支持达人入驻和多端发布
  15. 数据结构与算法3 树(上)树与树的表示
  16. 第十二届蓝桥杯 2021年省赛真题 (Java 大学B组) 第一场
  17. 生命是罐头,胆量是开罐器
  18. 教你用html和css仿制小米官网页面!
  19. endnote能自动翻译吗_把你的中文论文翻译成SCI paper能发表么?
  20. 大白菜U盘装系统综合教程

热门文章

  1. Docker(三):Docker镜像加速器和常用命令
  2. 《秘密》卷一:秘密-健康的秘密
  3. 紧锣密鼓完成小闭环,微型 CSDN 项目快快进入下一阶段
  4. SpringBoot 之Profiles
  5. Kiwi,BDD行为测试框架--iOS攻城狮进阶必备技能
  6. 【原创】基于SSM框架的校园交友网的设计与实现
  7. 加速城市轨道交通发展,数字化运营新基建搭建地铁管理系统
  8. 鸿蒙系统支持办公软件,不是华为手机,也能用上鸿蒙系统
  9. Python——根据散点数据绘制三维曲面图( meshgrid函数以及Axes3D [plot_surface] )
  10. python逻辑回归