如何在不到一小时的时间內建立诸如Uniswap之类的分散交换(DEX)

20201102_Uniswap_feature.jpg

构建单务交换很简单。首先,我们需要三组代码:

  1. 工厂合同
  2. 路由合同
  3. 前端代码

工厂合同用於LP令牌创建,它將为每对交换创建一个LP令牌。路由合同是用户要求与工厂合同互动的合同。可以在此处找到工厂合同源代码:https://etherscan.io/address/0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aaaa6f#code

如果您不在主要以太坊网络上部署代码,则需要在上述源代码的第398行之后添加以下行:

.

2.调用init_code_pair_hash的值並记录下来,我们稍后需要它。

您可以找到init_code_pair_hash的值,如下图所示。

Screenshot 2020-11-02 at 4.41.21 PM.png

然后,我们处理路由合同,路由合同源代码可以到达这里:https://etherscan.io/address/0x7A250D5630B4CF539739DF2C5C5DACB4C659F2488D#CODE

在第700行中搜索代码:

hex'96E8AC4277198FF8B6F785478AA39F403CB768DD02CBEE326C3E7DA3488845F'//初始代码哈希

我们需要用从工厂合同init_code_pair_hash获得的哈希替换哈希。然后可以部署合同。需要两个参数:

  1. 我们刚刚部署的工厂合同地址
  2. 韦斯地址

什么是韦斯?

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接口

Screenshot 2020-11-02 at 4.53.25 PM.png

合同地址需要更换,我们需要在/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/