原文发布在 https://github.com/33357/smartcontract-apps这是一个分析市场上智能合约应用的架构和仓库,面向中国社区。欢迎关注开源知识项目!
快速部署 Uniswap-v2
这是一套自动化部署Uniswap-v2的代码可以快速部署Uniswap-v2
如何实现快速部署?
实现快速部署Uniswap-v本质上是实现的Uniswap-v2合同部署和配置的自动化。使用了合同的自动部署hardhat使用框架和合同自动配置uniswap/sdk-core v3.0.3(我花了很多时间才找到这个两年前的版本)。只要用魔法改变后SDK换掉原来的uniswap/sdk
,自动配置合同可以在前端项目中实现。
祝大家玩得开心。
部署环境
- ubuntu 20.04
- node v16.13.0
- npm 8.1.4
- yarn 1.22.17
快速部署Uniswap-v2合约
-
获取测试代币
我们选择Rinkeby测试网络部署Uniswap-v2.首先需要获得测试代币。
-
官方水龙头需要twitter发帖
-
这里的推荐更简单 chainlink水龙头 获取测试代币。
-
-
下载项目
- uniswap-v2-contract
-
编译环境的配置
- 在根目录下创建文件
/envs/env.rinkeby
,内容为:PRIVATE_KEY={有测试币的私钥用于测试 RINKEBY_INFURA={infura节点的PROJECT_ID} 注册网址:https://infura.io/ APIKEY={etherscan的APIKEY} 注册网址:https://etherscan.io/login
- 在根目录下创建文件
-
合同的安装依赖和编译
yarn && yarn build
-
部署合约
- 设置部署环境
export ENV_FILE='./envs/env.rinkeby' export NETWORK_ID=4 export WAIT_NUM=1 export GAS_PRICE=3
- 执行部署命令
yarn run env-cmd -f $ENV_FILE yarn run hardhat UniswapV2:deploy --gas-price $GAS_PRICE --wait-num $WAIT_NUM --network $NETWORK_ID
- 设置部署环境
-
编译SDK
- 进入SDK目录
cd sdk
- 依赖和编译安装SDK
yarn && yarn build
- 修改
package.json
{ "name": "@{你的npm用户名}/uniswap-v2-sdk", 注册网址:https://www.npmjs.com/signup ... }
- 发布SDK到npm
yarn publish
- 进入SDK目录
快速部署Uniswap-v2前端
-
下载项目
- uniswap-v2-interface
-
配置环境
- 修改
package.json
{ ... "devDependencies": { ... "@{你的npm用户名}/uniswap-v2-sdk": {您发布的版本号}, }
- 修改
-
依靠安装和启动项目
yarn && yarn start
-
增加流动性和测试 swap 交易。
-
发布到github
- 生成前端代码
yarn build
- 修改配置文件
- 修改
package.json
{ ... "homepage": "https:///.github.io/{项目名称}" }
- 修改
- 发布项目到github
git add . git commit -m "first commit" git push
- 部署前端界面
yarn deploy
- 访问页面
https:///.github.io/{项目名称}
(需要一段时间才能生效)
- 生成前端代码