能聊天的比特币钱包|零基础入门 DeFi:手把手教你在 Uniswap 交易甚至上币
Uniswap 是以太坊 DeFi 生态的头部去中心化交易所(DEX),本月初链闻曾报道 Uniswap 新版升级,可交易 Uniswap.exchange 默认列表中未显示的代币。本文教你如何在 Uniswap 交易甚至上架 ERC20 代币。
作者:开放金融基金会(DeFi.org),专注于去中心化金融生态的非营利组织
几句话介绍 uniswap
-
uniswap
是基于一个叫做数量乘积为常数
的点子设计出来的交易所 -
你可以通过
uniswap
进行交易(也就是,用一种加密货币,换另一种加密货币,只能是 ETH 和 ERC20 Token
) -
你还可以通过
uniswap
的send
功能,进行跨币种转账 -
你还可以通过
pool
入股uniswap
,从交易中的手续费中分一杯羹 -
最酷的是,你还可以把你的
ERC20
上架到uniswap
我们将演示
- 用 Dai 购买 ETH
- 使用 ETH 向他人转账 Dai
- 入股 uniswap (pool,或者叫做提供流动性)
- 发行一款 ERC20 Token
- 上架一种我们自己的 ERC20 Token
在 uniswap 上用 Dai 购买 ETH
我们先来在 uniswap
上用 Dai
买一点 ETH
吧。我们打开 uniswap.exchange,你会看到这样的界面:
当然,你也有可能看到是白色的配色,你可以点击右下角的按钮,修改配色:
首次进入的时候(如果你的 MetaMask
开启了隐私模式),你可能需要点击右上角的 Connect
按钮连接到你的钱包,点击之后,MetaMask
会跳出来让你确认连接到钱包。如果右上角显示的是你的钱包地址,那么说明已经连接,就可以跳过这一步。 连接成功后,右上角的 Connect
按钮会变成你的钱包地址:
然后,这里我们注意到 uniswap
提供了 3 大类不同的业务
:
-
Swap
: 交换加密货币,其实就是交易
了,我们想要用Dai
来换一点ETH
就属于这种业务 -
Send
: 跨币种转账业务,比如说你的钱包里面只有ETH
,但是你想转Dai
到另一个账户,你可以首先通过ETH
换来Dai
,然后再转账; 或者,你可以使用Uniswap Send
,将这这里说到的两件(对应两笔交易)合并成一件事情来做(一笔交易) -
Pool
: 提供流动性,获取交易手续费分红。当我们用ETH
换取Dai
的时候,你有没有想过,Uniswap
里面的Dai
是哪里来的呢? 其实是用户通过这个Pool
操作存进来的。但是,这和Compound
那种借贷平台不同,用户并不是只是存Dai
进来,Pool
操作是同时按照当时的价格,同时存入等价值的Dai
和ETH
。然后,你就可以开始从交易手续费里面分红了。
最后,我们需说明一下,虽然我们一直在说
Dai
和ETH
,在uniswap
上,只要是ERC20 Token
都可以交易;我们最后还将演示,把我们随便创造的一种ERC20
上架到uniswap
上。
好吧,我们先来用 ETH
换点 Dai
吧。 首先我们注意到,uniswap
的 swap
页面默认的就是用 ETH
来换其他 ERC20 Token
(Dai
也是一种 ERC20 token
),如果你是想用 ERC20 Token
来换 ETH
,那么你可以点击中间这个箭头,就行了,当然,我们这里并不需要,这里只是给你提一下这件事情:
我们点击 Select a token
:
在弹出的对话框中选择 Dai
:
然后,我们可以填写我们想要花多少 ETH
去买 Dai
,会自动计算出我们能买到多少 Dai
; 也可以填写我们想要买多少 Dai
,会自动计算出我们需要花多少 ETH
。我这里填写我想要购买 5 Dai
,自动算出了我需要花掉 0.03 ETH
:
如果你很好奇这笔交易的细节,你还可以点击下面的 Advanced Details
,了解这笔交易的细节:
比如,我们在细节里面看到,我们买这 5 个 Dai
,最多会花 0.0303 ETH
:
那么你可能会很好奇,如果这个时候市场波动很大,ETH
跌了,也就是说,我们用 0.0303 ETH
都买不到 5 Dai
的时候,会发生什么呢? 答案是,我们的这笔交易会失败,避免很大的滑点带来损失,我们只会损失一些 Gas
费用。
当然,你应该也注意到了,下面是可以让你选择滑点的,你可以允许更大的滑点,让你的交易成功的概率变大(如果你真的要这么做,确保你自己完全明白这意味着什么,避免带来损失):
好吧,让我们来执行这笔交易,点击最下面的 Swap
按钮:
MetaMask
会弹出让我们确认交易,我们点击 Confirm
确认交易:
我们点击右上角我们的地址:
会弹出一个对话框,在对话框中,我们能够看到刚刚的我们确认的这笔交易:
我们点击这个链接,会跳转到 etherscan
查看具体的交易细节:
-
我们转账了
0.030345639115341726 ETH
到uniswap
的合约 -
我们收到了
5 Dai
-
uniwap
最后退还了0.000287422181744212 ETH
给我们
在 uniswap 上用 ETH 来捐 Dai
在继续接下来的教学之前,我们先来聊聊公益。UNICEF France ,也就是 联合国儿童基金会法国分部
之前开通了 Dai 捐款
的通道:
我们接下来,就来给 联合国儿童基金会法国分部
捐 1 Dai
。
先来看下我的这个钱包里面有多少 Dai
:
注意到我的钱包里面有 0.2021 ETH
和 5.997 Dai
。虽然我要给 联合国儿童基金会法国分部
捐 1 Dai
,但我要通过 uniswap
的 send
功能去捐赠,我不会动用我钱包里面的 Dai
。
我们回到 uniswap
的页面,点击 Swap
旁边的 Send
,会看到下面的界面:
我们同样点击 select token
,选择 Dai
:
在 Dai
的数额处,输入 1
,然后会自动计算出需要支付 0.006 ETH
:
然后,我们在 Recipient Address
处,填入收款人的地址,这里当然就是 联合国儿童基金会法国分部
的地址啦:
然后,同样的,我们点击 Send
, 在 MetaMask
中确认这笔交易:
等待交易在网络上被确认之后,我们点击交易的链接,去 etherscan
上详细看下这笔交易:
我们可以看到交易的一些细节:
-
我们转了
0.00607384501450303 ETH
到uniswap
-
0x0e3293BFcc55365CF0C67B2e1808be33D2905e3C
(也就是联合国儿童基金会法国分部
的地址 ) 收到了1 Dai
-
uniswap
退回了我们0.000060137079351515 ETH
这个时候,我们再回过来看看我的钱包:
-
注意到,我的钱包里面的
Dai
的数量没有减少哦 -
当然,
ETH
的数量减少了
「入股」 uniswap
这里说的 入股
就是 pool
功能。我们通过提供流动性,来获取交易手续费的提成。
在说 pool
功能之前,我们先来回顾下上面的 swap
功能。上面我们说到 uniswap
的 swap
功能的时候,我们是用 ETH
换了 Dai
。 其实在 uniswap
上我们可以用任意一种商家的 ERC20
来换另一种 ERC20
。我们可以在 swap
页面上,我们点击 ETH
处:
在弹出的对话框里面,我们可以选择其他 ERC20 token
,这样我们就可以实现 token
和 token
的交易的。
但是需要注意的是,因为 uniswap
是以 ETH
为核心设计的。虽然我们可以在一笔交易中完成 token
到 token
的交易,但在 uniswap
内部,实际上是经历了 token
到 ETH
, ETH
再到 token
两个过程。
好吧,我们为什么要提到这一点呢? 因为当我们打开 pool
对应的页面的时候,你会发现这里上面的 ETH
是点不动的:
也就是说,我们在 pool
的时候,不能 pool
放入两种 token
,而是一定要放入 ETH
和 另一种 token
。
我打算 pool
5 个 Dai
和 价值 5 Dai
的 ETH
。首先,我们点击 pool
页面,我们选择想要 pool
的 token
,点击这里的 Select a token
按钮:
在弹出的页面里面,我们选择 Dai
:
然后我们输入 5Dai
,会自动计算出需要多少 ETH
(你可能会注意到,这个时候的 ETH
比上面的价格贵,因为这个部分和上面的部分不是同一天写的,ETH
又涨起来了) :
注意,这里有一个 Advanced Details
,能够看到更多的细节,点击之后,我们看到:
这里的 liquidity token
就是用来表示你的 股份
的。
下一步,就是点击最下方的 Add Liquidity
按钮了,但你可能发现它是灰色的,无法点击:
原来,我们漏掉了 approve Dai
( 如果你很好奇 approve
是什么,参考 ERC20 APPROVE),我们点击 Dai
旁边的 Unlock
按钮, 在弹出的 MetaMask
窗口里面,确认这笔 Approve
交易 :
等交易在网络上被确认之后,Add Liquidity
按钮就可以点击了:
我们点击这个按钮,在 MetaMask
里面确认 Add Liquidity
这笔交易:
等待交易确认之后,我们回到 pool
页面,这个时候,我们点击 Add Liquidity
:
在弹出的菜单中,我们切换到 Remove Liquidity
功能页面:
在 select a token
这里,我们选择 Dai
:
注意到,这里显示了一个 balance
,但这并不是 ETH
或者 Dai
的余额,而是我拥有的 股份
,我们点击这个 balance
,你会看到我们这点 股份
的价值:
如果我们这个时候点击 Remove Liquidity
,我们的 股份
将会被销毁,同时我们可以拿回 0.028ETH + 4.9987Dai
。
发行一款 ERC20
因为我们要演示怎样在 uniswap
上架我们自己的 ERC20 Token
,所以,首先呢,我们来随便发行一种 ERC20 Token
,我们这里使用 ERC20-Generator 这个在线工具,这样的话,我们只需要 MetaMask
钱包,就能完成 ERC20 Token
的发行。
打开网页之后,我们会看到下面的界面,我们需要填写一些基本信息:
-
TokenName
是这个ERC20 Token
的名字 -
Token Symbol
是这个ERC20
的符号 -
Token Decimal
是小数点的个数。通过这个参数,可以确定我们这个Token
的最小单位。你可能经常看到18
, 这是因为ETH
的 最小单位wei
和 常用单位Ether
(当我们说我们有一个以太的时候,我们实际上说的是我们拥有 1Ether 个以太
) 之间的关系是:1000000000000000000 wei = 1ETH
-
Token Cap
是总的发行量,我们这里写的是1000000
,注意这里的单位是Ether
-
Token Initial Balance
: 这个是我的账户里面的Token
的数量,好吧,所以全都在我的钱包里面了
填写好了这些参数之后,我们点击 Create Token
,MetaMask
会弹出窗口,让我们确认这笔 部署智能合约
(我们发行一个 ERC20 Token
,其实就是部署了一个智能合约) 的交易:
这里要提醒的是,如果网络比较拥挤,而你的
gas price
设置得很低(比如如上图),那么,这笔交易将会很久才能确认,所以你可能需要 加速你的交易,或者在一开始就设置合适的 Gas Price
接着,我们需要耐心地等待交易确认,在这个过程中,我们可以点击 Transaction id
的链接,跳转到 etherscan
上看一下:
当交易确认之后,在 etherscan
上面,(比如我们这笔交易的 etherscan 地址 )我们就可以看到我们的 ERC20 Token
的合约地址了:
可以看到,我们的 ERC20 Token
对应的智能合约地址为 0x1Ba4dd5306528A92906193b070980cCB2322A2E4
,按照之前我们说的,我的钱包里面应该有了一些这个 Token
了,我们在浏览器上点击 MetaMask
图标,在弹出的窗口中,我们点击右上角,然后点击 Expand View
:
然后,我们就会看到打一点的 MetaMask
窗口,在下方我们看到一个叫做 Add Token
的文字,点击它:
在弹出的界面里面,我们选择 Custom token
,并在下面的 Address
处填入我们的 Token Address
,也就是上面的 0x1Ba4dd5306528A92906193b070980cCB2322A2E4
:
点击 Next
之后,我们会看到下面的页面:
我们再点击 Add Tokens
,然后你就会在左边看到我们多了一种 Token
,也就是我们的 DEFI Token
,我很富有地拥有 1000000
个。
把我们发行的 ERC20 上架到 uniswap
现在让我们回到 uniswap
里面,我们选择 pool
功能,在 Add Liquidiy
这里,我们点击一下:
在弹出的菜单里面,你会看到 Create Exchange
,这个功能就是上架我们的 ERC20 Token
了:
我们填入我们的合约地址:
然后点击 Create Exchange
按钮,在弹出的 MetaMask
窗口中确认交易:
这里要提醒的是,如果网络比较拥挤,而你的
gas price
设置得很低(比如如上图),那么,这笔交易将会很久才能确认,所以你可能需要 加速你的交易,或者在一开始就设置合适的 Gas Price
我们等待交易确认,交易确认之后,好像什么都没有发生一样:
但是,我们现在回到 Add Liquidity
(可能需要等待一小会),点击这里的 Select Token
:
我们输入我们的合约地址,然后选择 DEFI-ORG-TUTORIAL
,也就是我们创建的这种 Token
的名字:
接着,你会看到一句提示,哈哈哈,我们现在要通过 pool
来定价了:
那么我们来定价吧, 10 个 Token 卖 0.01 Ether 吧
:
接下来的操作就和上面的 pool
相同:
-
首先
unlock DEFI token
-
然后点击
Add Liquidity
做完这些之后,我们回到 swap
,你会发现我们的 Token
就可以购买了:
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。