# 搭建桥梁：第 2 季

{% embed url="<https://miro.medium.com/max/1400/1*f67Ffy8Ep5CcIANDWa5qOQ.png>" %}

在我们[之前的文章](https://ge-jiu.gitbook.io/socket-chinese/fen-xi-kua-lian-qiao-di-1-ji)中，我们确定了桥梁是如何建立在被称为通道的底层基础设施上的，而桥梁应用则是为了结算。

{% embed url="<https://miro.medium.com/max/996/1*F76CXOgl1tDbLDPIXBU5ag.png>" %}

以连接 2 个岛屿的悬索道路为例，可以将通道可视化。两端的检查点是桥梁应用程序，而连接它们的道路是验证者海洋上方的通道。

{% embed url="<https://miro.medium.com/max/1400/1*xmQLaxUgBrxOoK3ueWmm-w.png>" %}

渠道可以分为：

* 源管理器合约：负责映射的索引和数据编码，这些数据被发射到验证器。
* 目标链管理器合约：处理验证者提供的解码调用数据并在映射合约地址的帮助下执行它

因此，为了构建一个通用的桥接应用程序，我们需要将映射索引和调用数据提供给通道执行。

## 案例研究：PoS 桥 <a href="#an-li-yan-jiu-pos-qiao" id="an-li-yan-jiu-pos-qiao"></a>

PoS 桥是最著名的桥之一，锁定了最高的TVL。因此，PoS 桥的**Lock-n-Mint**机制变得非常有趣，值得深入研究！

{% embed url="<https://miro.medium.com/max/1400/1*D-CPyQ4UnnzCMnotqqb_0Q.png>" %}

**Lock-n-Mint**机制包括以下步骤：

1. 用户将代币发送到托管合约，托管合约会锁定你的代币
2. 向源管理器合约发送批准信息
3. 源管理器合约向验证者发出消息
4. 验证者获取它并进行交易以将消息传递给块生产者
5. 一旦区块被挖出，消息就会到达目标链管理器合约
6. 消息被解码并被发送到RTC，在那里进行最终的铸币

## 映射的作用 <a href="#ying-she-de-zuo-yong" id="ying-she-de-zuo-yong"></a>

源管理器合约使用映射索引来识别Polygon上与用户在Ethereum上锁定的代币相对应的代表性代币合约（RTC）。

Ethereum-Polygon通道的主要缺点是，除非Polygon上有一个RTC映射，否则资产不能被桥接。

{% embed url="<https://miro.medium.com/max/1400/0*TqCL6n-YXEr2xwm6>" %}

## 锁定 <a href="#suo-ding" id="suo-ding"></a>

为了减少源链上代币的供应，代币对用户是锁定的。除非 Polygon 上的桥接代币被取回并赎回，否则代币将保持锁定状态。

{% embed url="<https://miro.medium.com/max/1400/1*j2mGIMrVXNxxfgcOL38aDw.png>" %}

锁定过程是由用户将他们的资金存入一个托管合约，在那里被锁定，而托管合约又将锁定金额的批准作为收据发送出去。

一旦批准完成，源（本地）管理器合约就会通过3个输入被调用。

1. 被锁定的源代币 - 这样可以知道映射的代表代币合约
2. 目标链地址 - 用户在Polygon的地址，他们将收到资金批准金额的存款数据
3. 批准金额的存款数据

{% embed url="<https://miro.medium.com/max/1400/1*TLXLkAwGYez0HTCmF0Tixg.png>" %}

## 通道的作用 (StateSync) <a href="#tong-dao-de-zuo-yong-statesync" id="tong-dao-de-zuo-yong-statesync"></a>

一旦 Source Manager 合约发出带有上述参数的消息，它就会被验证器获取并作为交易发送给区块生产者执行

{% embed url="<https://miro.medium.com/max/1400/1*_uuZXXzlkOXAAd07DHnoJw.png>" %}

当这些交易被执行时，它会向目标链管理器发送一条消息，在此对消息进行解码。解码后，此消息可由 Polygon 上的 RTC 执行。

## 铸造 <a href="#zhu-zao" id="zhu-zao"></a>

RTC有权在收到来自目标链管理器合约的消息后铸造令牌以进行解码。

一旦 RTC 收到来自目标链管理器合约的解码调用请求，它就会铸造指定数量的代币并将其发送到上述地址。

{% embed url="<https://miro.medium.com/max/1400/1*P0hmY8PKo20M4Uz2RW5U4g.png>" %}

## 结论 <a href="#jie-lun" id="jie-lun"></a>

因此，虽然跨链通常被认为是一种简单的代币转移，但在幕后发生了很多事情。

验证器在获取消息并将其包含到块中起着至关重要的作用。启用消息（数据）传递的通道成为底层基础设施，其属性也被使用它们的任何桥接应用程序继承。

[原文链接](https://medium.com/socketdottech/building-bridges-season-2-543d27dd5a93)
