如何在不到一小時的時間內建立諸如Uniswap之類的分散交換(DEX)
構建單務交換很簡單。首先,我們需要三組代碼:
- 工廠合同
- 路由合同
- 前端代碼
工廠合同用於LP令牌創建,它將為每對交換創建一個LP令牌。路由合同是用戶要求與工廠合同互動的合同。可以在此處找到工廠合同源代碼:https://etherscan.io/address/0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aaaa6f#code
如果您不在主要以太坊網絡上部署代碼,則需要在上述源代碼的第398行之後添加以下行:
.
2.調用init_code_pair_hash的值並記錄下來,我們稍後需要它。
您可以找到init_code_pair_hash的值,如下圖所示。
然後,我們處理路由合同,路由合同源代碼可以到達這裡:https://etherscan.io/address/0x7A250D5630B4CF539739DF2C5C5DACB4C659F2488D#CODE
在第700行中搜索代碼:
hex'96E8AC4277198FF8B6F785478AA39F403CB768DD02CBEE326C3E7DA3488845F'//初始代碼哈希
我們需要用從工廠合同init_code_pair_hash獲得的哈希替換哈希。然後可以部署合同。需要兩個參數:
- 我們剛剛部署的工廠合同地址
- 韋斯地址
什麼是韋斯?
UNISWAP交換與ERC20代幣效果很好,但ETH不是ERC20。因此,交易所需要一個WETH轉換器將ETH轉換為ERC20標準WETH。匯率固定為1至1。根據您使用的網絡,請在下面選擇WETH地址作為輸入參數。
當然:02年9月2日
Ropsten:'0xC778417E063141139FCE010982780140AAAAAA0CD5AB'
Rinkeby:'0xC778417E063141139FCE010982780140AAA0CD5AB'
goerli:'0xb4fbf271143f4f4fbf7b91a5ded31805E42B2208D6''
科萬:0CASP。01
在我們編譯和部署路由合同後,請記住記下這兩個合同和INIT HASH代碼的地址。
下一步是在代碼的前端工作:
我們可以通過命令下載前端的代碼:
git克隆https://github.com/uniswap/uniswap-interface.git
CD UNISWAP接口
紗
合同地址需要更換,我們需要在/uniswap-interface/hide/hide/constants/index.ts的第6行上替換路由器合同地址
我們還需要搜索出廠地址和初始哈希代碼以進行更換。確保還替換了node_module/@uniswap中的代碼。
畢竟,替換,在您的github上創建一個存儲庫。並在前端代碼的文件夾中鍵入以下命令。
CD UNISWAP接口
rm -rf .git
git init
git Remote添加原點https://github.com/ {username }/ {project name} .git
紗線添加GH頁
紗線構建
然後編輯package.json,將主頁的值替換為https://username.github.io/project名稱。保存文件後,鍵入以下命令,
git添加。
git commit -m“ uniswap Exchange部署”
git放
紗線部署
完成所有內容後,您可以通過https://username.github.io/project訪問帶有metAmask錢包的交易所。
原创文章,作者:Johnny Chiu,如若转载,请注明出处:https://www.kaixuan.pro/news/233086/