Contract-Deployment
實現類似於 Uniswap/SushiSwap 的 AMM DEX
我是區塊鏈開發的新手,對 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 的核心功能.