简言:
网上的合约案例太少,并且已经过了很久,web3更新很快,当然笔者还合约不完善,后续会补充 这个案例主要适合新手学完solidity 需要案例:
1.是学会使用样例合约ERC20
2.学会使用动态价格,继承接口
3.路径验证
4.后续会补充完整案例解读
注释代码解释全在代码里
一.二话不说上代码
引入四个包 没有的需要 npm 下载
npm install -save-dev @openzeppelin/contracts
npm install -save-dev @chainlink/contracts
第一个sol.创建一个流动性池
pragma solidity 0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";//引入erc20 合约
import "@openzeppelin/contracts/access/Ownable.sol";//引入Ownable合约
import "@chainlink/contracts/src/v0.6/dev/AggregatorInterface.sol";//引入chainlink计价合约
import "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol";
interface ILiquidityPool {//定义一个流动性池
//事件 当某个账户从流动性池中撤回资金时触发的事