> ## Documentation Index
> Fetch the complete documentation index at: https://docs.garden.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# 意图流程

> 了解 Garden 协议处理用户意图的完整技术流程

![Garden 协议架构概览](https://mintcdn.com/garden-e60e7dd0/NpoTY5cHYX9LGVws/images/garden%20protocol.png?fit=max\&auto=format\&n=NpoTY5cHYX9LGVws\&q=85\&s=93e05bd99d51836ac8a125a2d2a53ded)

既然我们已经了解了系统中的所有参与者和模块，下面就从技术角度详细看看它们是如何协同运作的。

以下是该流程的简化示意：

**1. 创建意图**

用户请求报价 → 签署意图 → 将意图提交至订单簿

**2. 选择 solver**

订单簿选出 solver → solver 开始结算

**3. 用户端结算**

用户发起交易 → solver 在目标链上执行

**4. 完成**

用户赎回资金 → solver 完成结算

下面详细介绍该流程的每个步骤。

## 创建意图

> [card] 请求报价
>
> 用户首先为想要进行的兑换请求**报价**。报价包含输入资产、输出资产、涉及的链以及期望金额等详细信息。

> [card] 接受报价
>
> 用户收到报价后，必须通过创建一条**已签名的意图消息**来**接受报价**。

> [card] 创建意图
>
> 这条已签名的意图代表了用户的目标，包含资产、链、金额和过期信息等参数。

## 在订单簿中选择 solver

用户签署意图后，该意图会被提交至**订单簿**。订单簿是一个去中心化系统，solver 在其中竞争成交该意图。

### 拍卖流程

**1. 提交报价**

所有 solver 根据意图的参数提交各自的报价。

**2. 确定最佳报价**

确定**最佳报价**（价格最低或效率最高）。

**3. 打破平局**

**质押者评分**高于最佳报价 solver 的其他 solver，有 5 秒的时间窗口来匹配该报价。

* **无人接受**：最佳报价 solver 胜出。
* **一个 solver 接受**：接受报价的 solver 胜出。
* **多个 solver 接受**：质押者评分最高的 solver 胜出。

**4. Solver 确认**

选定 solver 后，该 solver 开始准备执行兑换。

## 结算：用户端执行

**1. 开始结算**

选定的 solver 确认后，结算流程随即开始。

**2. 用户发起**

用户必须为该意图创建一条**已签名的交易消息**，以**发起结算**。

**3. Relayer 广播**

已签名的消息会被提交给 **relayer**，由 relayer 将其广播到区块链上。

**4. 链上处理**

交易在链上处理，用户的资金被锁定在相应的合约中，或转入相应的钱包。

**5. 确认**

交易获得所需数量的区块链确认后，结算将推进到 solver 端。

## 结算：solver 端执行

**1. 收到确认**

Solver 在收到用户端交易的确认后，会在自己一端发起对应的交易。

**2. 在目标链上执行**

这一步中，solver 在目标链上锁定专为该用户预留的资金。

**3. Solver 交易确认**

Solver 的交易同样会在目标链上经历确认过程，以确保安全性和可靠性。

## 赎回

**1. 资产可用**

Solver 的交易获得所需确认后：

* 用户可以通过公开兑换的原像，在目标链上赎回资金。

**2. Solver 赎回**

用户公开原像后，solver 即可在源链上收取资金，从而完成兑换。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.