Open YangIsCoding opened 1 year ago
今日目標為 uniswap 部署到uniswap 測試練上。 整體過程: 1.使用remix IDE, 設定一個新的workspace. 2.將 uniswap v3 core , 這包含uniswap facotry在內的核心合約,下載並放在workspace. 3.將 uniswap v3 periphery , 這是包含v3 router在內的外周圍合約,下載並放在workspace. 4.先找到UniswapFactory.sol 並編譯,接著轉換自己的metamask至 sepolia,部署這個工廠合約, 將合約地址記住 5.到etherscan 上找weth9合約(也可以自己部署),這邊我是用0xD0dF82dE051244f04BfF3A8bB1f62E1cD39eED92這個 6.找到swapRouter.sol 將factory, weth9 合約放置參數,接著部署。
遇到的問題: 使用hardhat來部署會遇到許多的問題(僅供參考)。
uniswap 上的 hardhat-ve-deploy readme若照著做會出現一些錯誤
現在面臨的問題: 若直接將v3 periphery下載下來編譯後會得到: 但是,我嘗試將etherscan上已經部署好的router編譯也會出現一樣的error,那他們是怎麼成功部署的呢?
如果一一將import進來的solidity版本手動修改後,雖然可以成功上傳到etherscan但是就無法通過verification. 我的作法: 將router flatten後複製到Verify & Publish會出現:
並且remix會編譯說 pragma abicoder v2 需要版本0.8.0以上,但是如果改動,其他只能支援0.7.6的imports就會錯誤 但是直接將abi.decoder這一行註解掉只剩一行,出現:
Deploy everything to uniswap see if it works.