Solidity

如何在本地測試 Uniswap 合約?

  • November 24, 2021

到目前為止,我使用 Ganache 在 Solidity 中開發了智能合約。我不必以任何方式使用 Uniswap。

現在我想使用 Uniswap 將我的一些 ERC-20 代幣作為流動性。我開始閱讀 Uniswap 文件,但事情對我來說有點不清楚。以下是我與本地測試 Uniswap 相關的子問題:

  1. **如何在本地設置 Uniswap 的測試環境?**到目前為止,我使用的是 Ganache,但從我在這裡讀到的內容來看,安全帽是首選。誰能快速解釋我必須做什麼才能在本地設置它(有或沒有 Ganache)?
  2. **在本教程中的Importing Ethers and the V3 SDK標題下,我將程式碼放在哪裡?**程式碼在哪個文件中?我在那裡有點困惑。

先感謝您!

npx hardhat node 最簡單的解決方案是以“主網分叉”模式在本地執行。當您的腳本與 http://localhost:8545 上的乙太坊地址互動時,hardhat-node 會從主網上的同一地址獲取程式碼/狀態,並使其看起來好像您正在與實際的主網進行互動。除了你不是,所以它是免費的。

你需要分叉區塊鏈。您可以通過將 ganache 連接到來自煉金術、infura 或moralis 等服務的節點來設置分叉鏈。我個人喜歡煉金術。

連接後,您的程式碼將使用節點中的先前塊並使用 ganache 生成最新的測試塊

它還將所有合約部署到該鏈。只需將您的腳本指向 uniswap 的地址

至於問題 2,我不使用 javascript,但它看起來像是從 ethers.js 包中導入 ethers 並使用 ethers 與 pair 合約進行互動。這將出現在 js 腳本中,而不是你的智能合約中

引用自:https://ethereum.stackexchange.com/questions/114160