# 结合metamask钱包的使用理解区块链、公链、layer2的概念

By [littleflyingpiggy](https://paragraph.com/@littleflyingpiggy-2) · 2022-10-09

---

如果觉得我的内容对你有帮助，欢迎关注我的[推特账号](https://twitter.com/flying_piggy1)

如果需要更具体、系统、有针对性的教程指导，如果需要更具体、系统、有针对性的教程指导，欢迎大家私聊咨询哦

![](https://storage.googleapis.com/papyrus_images/7312e01fc3232d0c93bcea47e755898aa7c22d5bd7bbedad07ebd489bc021045.png)

在上节课的内容中，我们已经学会了如何下载安装创建我们的第一个加密货币钱包的全部内容，要在web3世界里愉快玩耍，我们需要利用加密钱包来支付我们进行链上活动的各种费用，那么初始的加密货币我们如何获得呢？

最开始我们需要利用币安、okx等中心化的交易所来实现用法币购买加密货币的操作，当我们在交易所购买到需要的加密货币后，我们需要利用提现的操作把加密货币资产转移到我们注册好的加密钱包里。

当我们从交易所提现的时候，我们会发现，不同的币种需要选择的提现网络是不同的，哪怕同一个币种也有很多不同的提现网络，这些多种多样的网络选择对于刚接触区块链的小伙伴们来说应该算是一个难点，不少小伙伴因为选择了一条提现费用便宜但跟自己的目标链不一致的链，结果造成了提现不到账，额外增加了很多麻烦。

以下几张图片就是我们在交易所提现的时候，不同的币种有的不同网络选择

![](https://storage.googleapis.com/papyrus_images/cd8ce8fdca781033b099d2712acbead5c576f57da0bbeaa62afb40010d821d7b.png)

![](https://storage.googleapis.com/papyrus_images/4798a5437c5f090e249c13dd3ec6179f3b472798f349171a046e83de59df3a6f.png)

那么今天我们就来研究一下所谓的链到底是怎么一回事，学完了今天的内容，我们就会知道不同的链之间的区别，再也不会因为提现选错链而发愁了。

**区块链技术的解释**

我们经常说区块链区块链，那么大家知道区块链到底是怎么一回事嘛？其实区块链并没有什么神秘的，它说白了就是一个类似于数据库的大账本，就像银行里的账本保存着每个储户的数据一样，区块链这个账本里也保存着所有参与该区块链的用户的全部活动信息。

银行会根据用户的活动在自己的账本上做记录：张三，取现300块，所以张三的银行账户余额需要减掉300；李四存款500块，所以李四在银行的账户余额要增加500，银行就充当了记账人的角色，看起来非常的方便。但是这样一来，又会产生一系列问题：如果银行作恶怎么办？比如偷偷给李四的账上扣掉一笔钱，或者直接把张三的账户给封锁了；比如银行系统发生故障了怎么办？这些情况在现实生活中其实都是时有发生的。

为了解决这种中心化记账机构的单点故障、作恶成本低的问题，一个名叫中本聪的加密学家发明了一种新的记账方式：把账本公开、让一群人共同维护，这种方式就被称为区块链技术，最早利用这种方式记账的加密货币就是比特币。

简单来说：区块链这个账本的维护方式并不是由中央机构（比如银行、支付宝）来维护的，而是公开在网络上，由分布于世界各地的参与者来共同维护的。任何人都可以通过联网的设备来运行一个维护该区块链的节点，所有这些参与者都保持该数据库的相同副本，并将数据实时添加和更新到区块链的账本中。

还是以张三为例，当张三在链上花掉了一笔钱，这笔钱又会怎样被记录进账本呢？首先是愿意维护该区块链的所有参与者根据事先约定好的某个规则进行比赛，谁在比赛中获得了胜利，谁就有权充当这笔交易的记账人，把记账信息打包成一个数据包，被称为区块，其他用户去验证该交易的准确性，验证无误之后，大家就把该数据包下载同步到自己维护的节点上，这样就保证了所有人的账本数据都是一致的。

那么为什么大家愿意来做这个记账人呢？这是因为充当记账人会有丰厚的奖励，所以大家愿意来做这件事；

那么如果记账人作恶又怎么办呢？如果记账人作恶，胡乱记账，那么其他用户在进行验证的时候会很容易的发现，大家不会认可，数据就不会被同步，记账人也就得不到奖励。

通过这样的方式来进行数据保存和验证，可以保证数据一旦记入账本，就无法删除或编辑，所以我们常说区块链技术是去中心、免信任、不可篡改和伪造、可以保证数据安全的。

每一次记账完成就是生成一个新的区块，下一个区块会包含上一个区块的特有的数据指纹，一个个区块就像项链一样串联起来，所以叫做区块链。

**公链的基本概念**

了解了区块链的概念之后，我们就可以很容易理解，所谓的公链：就是公共的、去中心化的区块链，任何人都可读取、任何人都能发送交易、任何人都可以参与交易确认（记账）、任何人都能参与其中共识过程的区块链。

与公链相对的是联盟链和私有链

联盟链：由多个组织或机构通过联盟的形式组建的区块链，联盟参与者之间通过契约或其他形式建立了信任和共识机制，构造区块和链接功能仅限于联盟参与者，访问权限可以对外采取限制性开放。

私有链：私有链是只由一个组织或实体控制网络的区块链。它只允许通过验证的选定参与者进入，必要时运营者有权对记项进行覆盖、编辑或删除。

BTC ETH DOT COSMOS SOLANA这些都是不同的公链，也就是不同的账本系统，在其中运行的是不同的资产，所以不同区块链之间无法进行互通，数据、资产、信息，都没有办法进行转移和交互，就像我们不能在支付宝账户里看到我们微信余额一样。

所以我们不论是提币还是要转账，都需要确保发送端和接受端是在同一条链上，这样资产才能安全的传输，否则就容易发生资产丢失的情况

目前BTC DOT这两种加密货币可以在一些主流支持链是以太坊的钱包上添加，比如imtoken钱包、O3钱包，也就是我们可以利用同一个钱包管理我们BTC ETH DOT这三条链上的资产，这是因为这些钱包开通了对多链的技术支持；但如果它们没有专门开通对某些链的支持，那我们就要去下载对应链的钱包，比如cosmos生态里的keplr钱包、SOLANA生态里的phantom钱包等。

理解了公链的概念，我们就能知道为什么在交易所提现的时候BTC、ETH、DOT 、ATOM 、SOL等加密货币需要选择不同的网络了，因为他们都是不同的公链彼此并不相容。

**以太坊二层解决方案：侧链、Rollup**

但是有细心的小伙伴在交易所提现ETH的时候会发现就ETH这一个资产，提现也有很多种网络选择，那这些网络又是怎么一回事呢？

![](https://storage.googleapis.com/papyrus_images/f05f8087ff2c25c189853c3daee8d13bc61d4ebf13144ac5f822469429247554.png)

要解释这个问题，就需要说说区块链目前的短板和痛点

在区块链技术诞生后，在去中心化和保证安全方面非常有效，但是目前区块链只能处理非常小的交易量，随着区块链领域的用户与日俱增，大家想，每个人都一起转账，确认起来又慢，没有中心化系统那么高效，你可以比喻成传统是一座城市里市委书记决定所有事，而区块链呢，每件事都要整座城市的人协商一致解决，所以肯定就慢，于是同时处理更多交易的能力就低。

那么当大家都一起去链上发起转账的时候，就会造成拥堵，以及手续费居高不下，因为矿工是谁给的手续费多，他就先打包谁的交易，大家都想先完成自己的，就变成了竞价，因此每逢拥堵，手续费就会非常高，你不想跟别人竞争，那你就排在最后面，很久都成交不了。

所以大家对区块链扩容的需求就非常迫切。

目前区块链主流的扩容方案是链下扩容，什么叫链下扩容？就是不改变区块链主链本身的规则（比如区块大小、共识机制等），在主链上再架设一层做具体的工作，只将必要的信息、或需要共识参与时（比如数据出错、出现纠纷时）才和主链进行信息交互和传播。

我们打一个比方，就是现在不是所有人一起参与决策所有事了，而是大家各司其职，每个人管自己的一摊事，最后大家都提交自己做事的一个结果给主链，主链要验证这个结果的正确性是很简单的，比如现在要你做一道数学题，问你一个20位的天文数字可以是哪两个质数的乘积，你算这道题要很久很久，同时给你100道题呢？完了，你一道一道排队从今年算到明年，但如果有100个人同时去算，算完给你一个结果，你只是验证一下呢？那很简单，你有一个质数表，看一下对方的两个数是不是质数啊？对一下，是，然后乘一乘，是不是那个数字啊？是，那就对，下一个。

你只需要验证100道题的答案，而不是去算100道题。

这样主链上的工作效率就很高了，于是就能够承载更多数量级的同时工作确认，也就不太容易拥堵了。

而由于这种方式没有发生在主链上，而是在主链之上再架设了一层工作小组，所以又被称为layer2（二层网络）。

![](https://storage.googleapis.com/papyrus_images/f05f8087ff2c25c189853c3daee8d13bc61d4ebf13144ac5f822469429247554.png)

在提现ETH的时候（以OKX为例进行说明），会出现提币网络的选项，其中第一个选项ETH-ERC20就是以太坊主网，我们选择该网络提现就会在对应的钱包地址的以太坊Ethereum主网络下查看到该笔资产。

![](https://storage.googleapis.com/papyrus_images/f0b13db80fcd5e0d6eabfd94b3f7496836d472f92a6ae0fc145ec22334554149.png)

第二个选项ETH-OKC是OKX交易所自己建的一条链，我们基本不太会用到.

第三到五个选项ETH-Arbitrum、ETH-Optimism、ETH-ZKSYNC、都是以太坊的layer2方案

那有人可能会问，为什么会有那么多的二层网络？难道一个解决方案还不够吗？去中心化市场就是这样，是由市场来决定谁好谁不好，而不是一个中心说我认为这个最好，所以我就是官方，就以我为准，就算是以太坊的创始人V神，他也无法决定哪一个方案会更受欢迎，或者哪一种layer2的方案就是所谓的以太坊的官方方案，不存在这样的官方，以太坊是一条开放的链，理论上它不属于任何人。这一点我们的思维要改过来，对于我们这些生活在中心化世界的人来说，是比较困难的，但是必须改过来。

跟不同的公链上的资产彼此不能互通一样，不同layer上的资产，彼此也是分层互相不能互通的。

**提现转账的网络选择原则**

所以我们不论是提现还是转账的时候一定要掌握的一个原则就是：发起方的网络要和接收方的网络一定要一致，只要保持一致，提现就会成功；如果不一致那么提现就会发生问题。

比如我在交易所选择的提现网络是ETH-ERC20接收的地址就一定要是支持Ethereum的一个地址，不能选择其他公链钱包的地址，也不能选择ETH-Arbitrum、ETH-Optimism、ETH-ZKSYNC之类的layer2地址

![](https://storage.googleapis.com/papyrus_images/f0b13db80fcd5e0d6eabfd94b3f7496836d472f92a6ae0fc145ec22334554149.png)

如果我在交易所选择的提现网络是ETH-Optimism，那么我就需要在接收地址的ETH-Optimism这个网络下才能查看到对应的资产

![](https://storage.googleapis.com/papyrus_images/70706f448ba235c8a96d062e1f83195608039f3a2e0aa36c9923d2ad642c7482.png)

搞清楚了这个原理，我们在提现和转账的时候就一定不会搞错链

**如何在metamask钱包里添加其他网络**

如果有的小伙伴因为看到ETH-Optimism上提现ETH交易所手续费便宜而选择了利用这个网络提现到钱包的话，那我们在钱包的以太坊Ethereum主网络下是无法查看到该笔资产的。

接下来我们就说说如果出现了这种情况，我们应该如何解决？

我们需要在钱包里添加跟提现或者转账一致的网络，然后就可以查看到对应的资产

比如如果我们是提现到了ETH-Optimism网络上，那么我们就需要在metamask钱包里添加ETH-Optimism网络，因为我们初次下载metamask钱包里面只会配置以太坊Ethereum主网络

要metamask钱包里添加网络，我们通常会用到一个工具网站chainlist（链网），这个网站可以在metamask钱包里添加所有支持的网络，下面我以添加ETH-Optimism为例来进行一个演示

登陆[chaillist](https://chainlist.org/zh)

![](https://storage.googleapis.com/papyrus_images/6aef1b171f2ca88c88968f50a095c9a7519db4e8ca38390e8fbe08113dfdd9f2.png)

![](https://storage.googleapis.com/papyrus_images/2ae8ef3bdd409a896d0c9be7fab09dcd98a81b91c0ee39287d5fff1488e80249.png)

![](https://storage.googleapis.com/papyrus_images/3a61803d6b25bc3987643fd94324520b5df06cd7bdabd184cb9ef1ae4a261240.png)

链接成功后，右上角会显示我们的钱包尾号，我们在上方的搜索栏中输入要添加的网络关键词，这里我输入了op，就会显示全部包含该关键词的全部网络信息，我们要找的optimism就是地址下面的红色图标，我们点击该网络下方的添加到metamask按钮

![](https://storage.googleapis.com/papyrus_images/7ff35d0479975c55c908b85fcb11f55d33d28a9b05d9ef20960916705111dd19.png)

钱包会弹出一个允许切换网络的提示，我们点击蓝色的‘切换网络’就可以成功的添加该网络。

进入钱包之后，就可以看到添加的网络，如果我们当时是把资金转入到了这个地址的ETH-Optimistic网络上的话，在这里就可以看到当时误转的资金。

![](https://storage.googleapis.com/papyrus_images/418da815ec981ad2fce9d6c5ba6a5660906b0673389b8f173efbc7b982be1c4e.png)

**Metamask网络切换**

在我们在metamask钱包中添加了多个网络之后，有时候我们需要在不同的网络之间切换以便查看不同网络上的资产，这个时候我们就需要在钱包里进行切换网络的操作，具体方法是：

点击狐狸头像打开狐狸钱包，点击网络后面的下拉箭头，在弹出的菜单中选择自己需要的网络

![](https://storage.googleapis.com/papyrus_images/383e456478a85ded9b8858dd72a3cdd07e3fe5e2e35fb9a46e30b1c5bc0be90a.png)

**Metamask转账操作**

在我们搞清楚了提现和转账需要两端的网络保持一致之后，这时候再来了解转账和提现的操作就会显得非常的轻松了，下面我们就看看如何从交易所提现到钱包以及在钱包里如何进行转账

**从交易所提现到钱包**（以从okx提ETH到ETH-Optimism为例）

需要注意以下几个问题：

（1）选择正确的提现网络，如果想要提到钱包的ETH-Optimism网络上，那么在交易所提现的网络就必须选择ETH-Optimism，如果选择ERC20就意味着你是把币提到了以太主网上（提的时候手续费会贵很多），而且想要再提回原本的链，还需要支付以太主网上昂贵的gas费。

（2）提现的地址要复制正确，不要搞错，搞错了币就找不回来了

（3）往私人的钱包提币不需要备注，备注是用在往交易所等公共钱包充值时会用到的

（4）提现数量要结合每个交易所不同币种的最小提现数量来考虑，比如我截图的时候提现ETH到Optimism的手续费是0.0005ETH，如果链上拥堵，那么手续费会增加，提现ETH到Optimism的最小提现金额为0.0001ETH，如果我们提取少于0.0001ETH，是无法操作的。

体现的手续费和最小提现金额会根据交易时间、交易网络的不同而不同，比如如果我们是要把ETH提现到ETH主网的话，最低提现金额就是0.01ETH，交易手续费是0.00096-0.00192ETH

![](https://storage.googleapis.com/papyrus_images/9ba7d4b2bb7728c74663c41c1b633f84c31a7699ca3792c54d6e519619494c12.png)

当以上所有的步骤都完成之后，交易所提现页面显示提现成功之后，我们钱包的ETH-Optimism网络上就可以收到对应的ETH了。

实操建议：

我们可以尝试把在第二板块中通过币币交易购买到的ETH从交易所提现到我们刚刚注册好的metamask钱包里，通过主网进行操作

**从钱包转账给其他地址**

![](https://storage.googleapis.com/papyrus_images/7fd54b1c5ecbd0c03470d0a574f6fe1c43266ae26be9312593dc897230760379.png)

![](https://storage.googleapis.com/papyrus_images/09d451fe196f4a1f9e623ebd520968af6f147439ac0f2afe75c1c2ed03d20773.png)

在点击确认之后我们可以在钱包里查看这笔交易的结果，打开狐狸钱包，点开活动，成功的交易前面的按钮是蓝色的；尚未完成的交易前面的按钮是黑色的，还有红色的待处理字样；失败的交易前面是个红色的，还有红色的失败字样。

如果钱包里的交易状态是成功，那么我们就可以在收款的地址里查询到该笔资产了。

![](https://storage.googleapis.com/papyrus_images/1c500dc35ab684dd1911fe428a931cc41614f6f8eea7361a38e39fb7b9d438e0.png)

![](https://storage.googleapis.com/papyrus_images/64e588138a6b7321b8ec6f51a94f3204f09ecff6e13b3b863c05e12c5515f59c.png)

**从钱包充值到交易所**

由于从钱包充值到交易所其实本质上也是一种转账，这里我们就以从metamask提ETH到欧易为例跟大家介绍一下充值的操作。

首先要找到我们的交易所账户地址，然后在metamask中就是一个普通的转账操作

![](https://storage.googleapis.com/papyrus_images/49ee54977f162b285e5ac863ea3e420fc02175f1e941fe379be2d2d02888304e.png)

![](https://storage.googleapis.com/papyrus_images/e3089f786cd75bca709d9ebabd662f68726bac192438a10abdcee4a6992424a6.png)

![](https://storage.googleapis.com/papyrus_images/76b303dcd9a2180ccd74e099efa37efa92f38aee9002429c81d015e81d4cee20.png)

钱包中交易成功后我们就可以在交易所中收到这笔充值啦。

**在Metamask中添加不同的代币**

经过上面的学习，我们已经可以知道所谓的区块链就是各种各样不同的公链和侧链以及一些二层网络构成的。目前，不同的网络之间资产并不能自由流通，只是可以通过某些跨链桥工具互通有无。

最早诞生于某条区块链的代币就是该条区块链上的原生资产；而该种资产在其他链上的资产形式就是包装资产；一条区块链网络在诞生了原生资产之后，也会陆续有其他的各种协议基于该网络构建自己的代币。

举个例子来说，在以太坊网络上的原生资产就是ETH，ETH在polygon网络上的形式是WETH，ETH在Optimism这个二层网络上的代币标志就是OETH,在以太坊网上又会有很多其他的币种，比如LOOKS、比如APE等等。

![](https://storage.googleapis.com/papyrus_images/9f22ee6a635e5ca4180274564cc900d81675ec658b903db7caf15a7e9d9842a2.png)

![](https://storage.googleapis.com/papyrus_images/7362e2eab430b55a19881c94a2d4be554deb020c7fb0fac9756672c9af146935.png)

通常来说，狐狸钱包只会显示一条网络的原生资产，比如在metamask钱包里，如果不做任何操作，以太网主网上只会显示ETH这个币种

![](https://storage.googleapis.com/papyrus_images/f644dbcbfbd99f615acf6dd78b2a9726601a3c7ebff6ec8c3d1f9f59a46498de.png)

如果我们想要添加其他以太坊网络资产的话，就需要手动进行添加。

我们要手动添加，必须要知道的前提条件就是该代币在该网络上的代币合约地址，每种代币的合约地址都是不同且唯一的，就像我们个人的id识别号，通过合约地址我们就可以轻松的区别不同的代币。

在上文我们已经知道了，哪怕同一种资产，在不同链上的形式也是不一样的，所以，即使是同一种资产，在不同链的代币合约地址都是不同的。

ETH在BSC主网的合约地址是：

0x2170ed0880ac9a755fd29b2688956bd959f933f8

ETH在AVAX主网的合约地址是：

0xf20d962a6c8f70c731bd838a3a388d7d48fa6e15

当我们想要添加某种代币的时候，通常分为两种情况

1知道该代币在对应网络上的合约地址。

当我们知道某种资产在对应链的合约地址，我们就可以在狐狸钱包里按照以下方法进行添加

我这里以在BSC链上添加ETH资产为例。

![](https://storage.googleapis.com/papyrus_images/b7a7eb267f57479ff9b2abf4ff4249ab857fd082adff4c164fabd50bf1a1f473.png)

![](https://storage.googleapis.com/papyrus_images/dfc126ba18d0eacc51809de6294b0b3a1150c58b18e501053e5478b699b9936b.png)

2不知道该代币在对应网络上的合约地址。

如果我们本身不知道该代币的合约地址，那又该如何操作呢？可以利用[coinmarketcap](https://coinmarketcap.com/)或者[coingecko](https://www.coingecko.com/)这种加密货币信息查询网站来进行查询

我以利用coinmarketcap添加前一段时间bayc空投的APE代币为例给大家进行展示，另外的币种和coingecko都是类似的操作，大家可以自行尝试。

![](https://storage.googleapis.com/papyrus_images/a05f5679928d61b33f21f1b281e5c75babfb5fa63ac0f08f5488cc949175a7e5.png)

在找到代币合约地址之后，我们可以复制合约地址手动添加，也可以点击狐狸头像在狐狸钱包里自动添加，因为不是所有的代币都支持狐狸钱包自动添加，所以我们也要知道应该如何复制代币合约地址噢。

如果觉得我的内容对你有帮助，欢迎关注我的[推特账号](https://twitter.com/flying_piggy1)和小红书[账号](https://www.xiaohongshu.com/user/profile/5dcdf00f000000000100410b?xhsshare=CopyLink&appuid=5dcdf00f000000000100410b&apptime=1672565199)：飞猪聊web3，获取更多web3的安全知识、基本技能和实用资讯

---

*Originally published on [littleflyingpiggy](https://paragraph.com/@littleflyingpiggy-2/metamask-layer2)*
