Contract-Deployment

實現類似於 Uniswap/SushiSwap 的 AMM DEX

  • March 17, 2021

我是區塊鏈開發的新手,對 Uniswap/sushiswap/pancakeswap/etc 很感興趣。一段時間的項目。

我正在嘗試建構自己的項目作為學習練習。我已將合約部署到 ropsten,並且可以看到我的代幣在我的前端供應為零。

我的問題是,我如何與合約互動以鑄造代幣、創建流動資金池等?我是否編寫了一個利用 web3 呼叫 mint() 和 createPair() 等函式的 js 文件?

DEX 本質上允許您交換代幣並創建流動性池,這意味著您通常不會創建(鑄造)新代幣。只有當 DEX 有 Staking 的可能性時,你才可以創建 LP 代幣(Liquidity Pool 代幣)並將它們發送給 Stakers 以換取他們的標準代幣。

如果合約在etherscan.io中得到驗證,您可以直接呼叫它們的函式,無需任何開發。您只需要知道合約地址、要呼叫的函式以及期望的值。

另一方面,您可以使用 web3.js 或 ethers.js 等庫通過前端或後端與合約進行互動。

在 Uniswap 中,大部分功能都可以通過Router02合約獲得。例如,如果你必須創建一個流動性池,那麼你應該呼叫這個函式(如果它不存在,它將創建一個新的貨幣對):

function addLiquidity(
 address tokenA,
 address tokenB,
 uint amountADesired,
 uint amountBDesired,
 uint amountAMin,
 uint amountBMin,
 address to,
 uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);

然而,如果你是區塊鏈新手,那麼從 DEX 開始有點挑戰。也許你可以用簡單的 ERC20 合約練習一下,轉移代幣,遍歷數組,訪問映射,在 web3.js 中開發程式碼以從合約中讀取和寫入值等,然後更容易遵循 DEX 的核心功能.

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