Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,535 changes: 1,535 additions & 0 deletions bun.lock

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions docs/pages/cn/explanation/build-overview.mdx
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
source_path: explanation/build-overview.mdx
source_sha: 4b19d1f913597181cd62426d9b82ef8e91c4fae3
title: "概览"
description: "在 Stable 上推出产品:钱包和账户、支付、智能合约和 AI 代理。从快速入门开始,或者直接跳转到您需要的功能。"
source_sha: 31130e61141a3d529f2c5ec7281240aa4a155e00
title: "概述"
description: "在 Stable 上发布:钱包和账户、支付、智能合约和 AI 代理。从快速入门开始,或者直接跳转到您需要的功能。"
diataxis: "explanation"
---

# 概览
# 概述

Stable 新手?请先运行[快速入门](/cn/tutorial/quick-start)。它只需五分钟,并会发送一笔测试网交易,以便标签页的其余部分可以连接到它。
Stable 新手?请先运行[快速入门](/cn/tutorial/quick-start)。它只需五分钟,并发送一个测试网交易,以便其余选项卡可以插入。

## 探索

- [**账户**](/cn/explanation/accounts-overview):创建钱包,使用 EIP-7702 授权 EOA,并为用户和代理限定会话密钥。
- [**账户**](/cn/explanation/accounts-overview):创建钱包,使用 EIP-7702 委托 EOA,并为用户和代理设置会话密钥范围。
- [**支付**](/cn/explanation/payments-overview):发送 USDT0,构建 P2P 和订阅流程,使用 ERC-3009 结算发票,并使用 x402 为 API 定价。
- [**合约**](/cn/explanation/contracts-overview):部署、验证和索引 Solidity 合约,并调用 Bank / Distribution / Staking 预编译。
- [**合约**](/cn/explanation/contracts-overview):部署、验证和索引 Solidity 合约,并调用银行/分发/质押预编译。
- [**AI 和代理**](/cn/explanation/agent-settlement):将 MCP 服务器连接到 AI 客户端,并公开代理可以通过提示调用的 x402 付费工具。

## 从这里开始

- [**快速入门**](/cn/tutorial/quick-start):连接到测试网,为钱包注资,并发送您的第一笔 USDT0 交易。
- [**发送您的第一笔 USDT0**](/cn/tutorial/send-usdt0):相同余额上的原生和 ERC-20 传输,附带 TypeScript 示例。
- [**快速入门**](/cn/tutorial/quick-start):连接到测试网,为钱包注资,并发送您的第一个 USDT0 交易。
- [**发送您的第一个 USDT0**](/cn/tutorial/send-usdt0):在同一余额上进行原生和 ERC-20 转账,并附带 TypeScript 示例。
- [**部署智能合约**](/cn/tutorial/smart-contract):搭建 Foundry,配置 Stable,并部署 Counter 合约。
- [**Stable SDK**](/cn/explanation/sdk-overview):使用类型化的 TypeScript 客户端在 Stable 上进行转账、桥接和兑换。
- [**工具和 SDK**](/cn/explanation/tools-overview):使用类型化的 TypeScript SDK、服务 API 和 MCP 服务器。
78 changes: 45 additions & 33 deletions docs/pages/cn/explanation/gas-waiver.mdx
Original file line number Diff line number Diff line change
@@ -1,61 +1,73 @@
---
source_path: explanation/gas-waiver.mdx
source_sha: a03f510da6c1fe5ab2d31b55c8827b59792af6e0
title: "免除Gas费"
description: "Gas费免除机制允许应用程序为用户支付Gas费。经治理批准的豁免提交封装交易,以零Gas费运行已签名负载。"
source_sha: 73109dcf0f466171e6c0807bb89627d896c640e0
title: "Gas 豁免"
description: "Gas 豁免允许应用程序为用户支付 Gas 费。经治理批准的豁免提交包装器交易,以零 Gas 价格运行已签名的负载。"
diataxis: "explanation"
---

# 免除Gas费
# Gas 豁免

经治理批准的地址(称为**豁免者**)提交一个封装交易,其中包含用户签名的负载,并以 `gasPrice = 0` 执行。用户不持有任何 USDT0 且不支付任何 Gas 费。Stable 运营着一个这样的豁免服务;合作伙伴也可以通过验证者治理注册他们自己的豁免地址。
经治理批准的地址(称为**豁免者**)提交一个包装器交易,该交易携带用户签名的负载,并以 `gasPrice = 0` 执行它。用户不持有 USDT0 也不支付 Gas 费。Stable 运营一个这样的豁免服务作为托管服务;合作伙伴也可以通过验证者治理注册自己的豁免地址。

## 工作原理

Gas费免除机制采用封装交易模式:
Gas 豁免使用包装器交易模式:

1. **用户签署一个 `InnerTx`**,其中 `gasPrice = 0`。用户的签名端到端保留;豁免者不能在不使其失效的情况下修改负载。
2. **豁免者将 `InnerTx` 封装到 `WrapperTx` 中**,发送到协议标记地址 (`0x000000000000000000000000000000000000f333`),其中 `value = 0`、`gasPrice = 0`,并将已签名的 `InnerTx` 作为其数据负载。
3. **验证者检测到标记**,检查豁免者的授权和策略约束,并以用户的身份(`from`、`nonce`、调用语义)执行内部交易。
1. **用户签署一个 `InnerTx`**,其中 `gasPrice = 0`。用户的签名在端到端过程中得到保留;豁免者不能修改负载而不使其失效。
2. **豁免者将 `InnerTx` 包装成 `WrapperTx`**,发送到协议标记地址 (`0x000000000000000000000000000000000000f333`),其中 `value = 0`,`gasPrice = 0`,并将已签名的 `InnerTx` 作为其数据负载。
3. **验证者检测到标记**,检查豁免者的授权和策略约束,并以用户的身份(`from`、`nonce`、调用语义)执行内部交易。

Gas 费用核算在豁免机制内部处理。用户不支付任何费用;封装者不支付任何费用;验证者根据每个豁免者的策略承担成本。
Gas 核算在豁免机制内部处理。用户不支付任何费用;包装器不支付任何费用;验证者根据每个豁免者的策略承担成本。

## 授权和策略

豁免者由验证者治理控制,而不是应用程序逻辑。治理提供:
豁免由验证者治理控制,而不是应用程序逻辑。治理提供:

- **可审查的注册**:每个豁免地址都在链上注册并且在状态中可见。
- **撤销**:验证者可以随时移除行为不当的豁免者。
- **通过 `AllowedTarget` 进行范围访问**:每个豁免者都绑定到一组特定的目标合约和方法选择器。如果内部 `to` 地址和方法选择器超出该范围,协议将拒绝任何封装。
- **可审查的注册**:每个豁免地址都在链上注册,并在状态中可见。
- **撤销**:验证者可以随时移除行为不当的豁免者。
- **通过 `AllowedTarget` 进行范围访问**:每个豁免者都绑定到一组特定的目标合约和方法选择器。如果内部 `to` 地址和方法选择器超出该范围,协议将拒绝任何包装器。

有效的封装交易满足以下所有条件:
有效的包装器交易满足以下所有条件:

- `WrapperTx.to == 0x000000000000000000000000000000000000f333`(标记地址)。
- `WrapperTx.from` 是通过治理在链上注册的豁免者。
- `WrapperTx.gasPrice == 0` 且 `InnerTx.gasPrice == 0`。
- `WrapperTx.value == 0`。
- `InnerTx.to` 和提取的方法选择器由豁免者的 `AllowedTarget` 策略允许。
- `WrapperTx.to == 0x000000000000000000000000000000000000f333`(标记地址)。
- `WrapperTx.from` 是通过治理在链上注册的豁免者。
- `WrapperTx.gasPrice == 0` 且 `InnerTx.gasPrice == 0`。
- `WrapperTx.value == 0`。
- `InnerTx.to` 和提取的方法选择器由豁免者的 `AllowedTarget` 策略允许。

如果任何条件失败,验证者将拒绝封装而不执行内部交易。
如果任何条件失败,验证者将拒绝包装器,而不执行内部交易。

## 安全模型

- **用户签名完整性**:用户签署 `InnerTx`。豁免者不能在不使签名失效的情况下修改负载。合作伙伴仍有责任确保用户只签署预期的负载。
- **链上授权**:授权存在于链上。只有治理注册的豁免地址才能提交有效的封装,无论请求源自何处。
- **服务可用性边界**:当合作伙伴通过 Stable 托管的豁免服务器路由时,提交的可用性取决于服务。协议级别的授权保证不受影响。
- **用户签名完整性**:用户签署 `InnerTx`。豁免者不能在不使签名无效的情况下修改负载。合作伙伴仍有责任确保用户只签署预期的负载。
- **链上授权**:授权存在于链上。只有治理注册的豁免地址才能提交有效的包装器,无论请求源自何处。
- **服务可用性边界**:当合作伙伴通过 Stable 的托管豁免服务器路由时,提交的可用性取决于服务。协议级别的授权保证不受影响。

## 何时使用Gas费免除机制
## 何时使用 Gas 豁免

Gas费免除机制适用于任何用户不需要持有 USDT0 支付 Gas 费的场景:
Gas 豁免适用于任何最终用户无需持有 USDT0 支付 Gas 的流程:

- 消费者应用程序引导新用户,这些用户尚未持有稳定币余额。
- 代理驱动的流程,其中代理的钱包支付 Gas 费。
- 企业支付轨道,其中运营商承担网络成本。
- 尚未拥有稳定币余额的消费者应用用户入门。
- 由代理驱动的流程,其中代理的钱包为 Gas 提供资金。
- 企业支付轨道,其中运营商承担网络成本。

对于用户持有 USDT0 但希望将多个调用捆绑到一个签名交易的流程,请参阅[EIP-7702 委托](/cn/reference/eip-7702-api)代替。
对于用户持有 USDT0 但希望将多个调用捆绑到一个签名交易中的流程,请参阅[EIP-7702 委托](/cn/reference/eip-7702-api)。

## 选择集成路径

所有三种路径都会产生相同的链上结果。它们在谁持有豁免密钥以及您构建多少方面有所不同。

| 路径 | 谁持有豁免密钥 | 何时使用 |
| :--- | :--- | :--- |
| [托管豁免服务器](/cn/how-to/integrate-gas-waiver) | Stable,您通过 API 密钥进行身份验证 | 您想要最短的路径,并且可以依赖 Stable 的服务进行提交。 |
| [企业 SDK](/cn/how-to/relay-with-gas-waiver) | 您,通过治理注册 | 您用 TypeScript 运行自己的豁免,并希望一次调用即可构建、签名和广播。 |
| [自托管包装器](/cn/how-to/self-hosted-gas-waiver) | 您,通过治理注册 | 您自己构建包装器交易,使用 SDK 不涵盖的语言。 |

托管服务器为您注册并运营豁免,因此您无需构建 `WrapperTx`。两条自托管路径都需要一个经过治理注册的豁免地址,而 `@stablechain/enterprise` 是该模型的类型化客户端。

## 下一步建议

- [**启用免 Gas 费交易**](/cn/how-to/integrate-gas-waiver):通过 API 密钥提交和 NDJSON 响应集成托管的豁免服务器 API。
- [**Gas 费免除协议**](/cn/reference/gas-waiver-api):阅读完整的协议规范:标记路由、封装格式、治理控制。
- [**USDT0 作为 Gas**](/cn/explanation/usdt-as-gas-token):了解豁免涵盖的 Gas 令牌。
- [**启用免 Gas 交易**](/cn/how-to/integrate-gas-waiver):集成托管豁免服务器 API,支持 API 密钥提交和 NDJSON 响应。
- [**Gas 豁免协议**](/cn/reference/gas-waiver-api):阅读完整的协议规范:标记路由、包装器格式、治理控制。
- [**USDT0 作为 Gas**](/cn/explanation/usdt-as-gas-token):了解豁免涵盖的 Gas 代币。
42 changes: 42 additions & 0 deletions docs/pages/cn/explanation/tools-overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
source_path: explanation/tools-overview.mdx
source_sha: 6eecb794f859527309d0c200ea29e33c6223cb74
title: "工具和 SDK"
description: "选择合适的 Stable 工具:类型化的 TypeScript SDK、Gas 费用豁免和 EIP-7702 服务 API,以及用于 AI 客户端的 MCP 服务器。"
diataxis: "explanation"
---

# 工具和 SDK

所有你用来调用 Stable 的东西都在这里。要在 Stable 上构建产品?从 [Stable SDK](/cn/explanation/sdk-overview) 开始,当你需要 SDK 未封装的功能时,可以使用服务 API。为后端赞助 Gas 费用或中继交易?从 [Enterprise SDK](/cn/explanation/enterprise-sdk) 开始。将 Stable 集成到 AI 编辑器或代理中?请访问 [使用 AI 进行开发](/cn/how-to/develop-with-ai)。

## 使用 SDK 进行构建

- [**Stable SDK**](/cn/explanation/sdk-overview):`@stablechain/sdk`,用于转账、跨链桥接、兑换和 Vault 收益的类型化 TypeScript 客户端。它封装了 viem 并处理路由、批准、小数位和链切换。
- [**SDK 快速入门**](/cn/tutorial/sdk-quickstart):安装软件包,在测试网上发送你的第一笔 USDT0 转账,并预览主网跨链桥报价。
- [**SDK 参考**](/cn/reference/sdk)
:`createStable`、`createStableReader`、转账、跨链桥接、兑换和赚取方法、枚举和错误类。
- [**Enterprise SDK**](/cn/explanation/enterprise-sdk):`@stablechain/enterprise`,用于免 Gas 交易和预留企业专用区块空间的服务器端客户端。
- [**Enterprise SDK 参考**](/cn/reference/enterprise-sdk):`createStableEnterprise`、两种轨道、构建助手和错误类。

## 将 SDK 与你的技术栈结合使用

- [**viem**](/cn/how-to/sdk-with-viem):三种签名方式:私钥账户、浏览器传输或预构建的 viem WalletClient。
- [**wagmi**](/cn/how-to/sdk-with-wagmi):使用 `useWalletClient`、`useAccount` 和 `useChainId` 将 SDK 连接到 React 应用中。
- [**赚取收益**](/cn/how-to/earn-yield):将 USDT0 存入 Morpho Vault,读取 APY 和仓位,提款,并领取 Merkl 奖励。

## 服务 API

- [**Gas 费用豁免协议**](/cn/reference/gas-waiver-api):交易格式、标记路由、治理控制以及你向其发布已签名 `InnerTx` 负载的 Waiver Server API。
- [**EIP-7702**](/cn/reference/eip-7702-api):委托交易格式和 RPC 行为,用于将 EOA 的账户代码指向智能合约。

## AI 和代理工具

- [**使用 AI 进行开发**](/cn/how-to/develop-with-ai):将 Docs MCP 和 Runtime MCP 服务器添加到任何 MCP 兼容客户端,以及适用于不带 MCP 的工具的纯文本文档。
- [**使用 MCP 服务器支付**](/cn/how-to/pay-with-mcp):将 x402 支付的 API 作为 MCP 工具公开,以便 AI 客户端通过提示调用和支付它们。

## 下一步

- [**快速入门**](/cn/tutorial/quick-start):连接到测试网,为钱包充值,并发送你的第一笔 USDT0 交易。
- [**JSON-RPC API**](/cn/reference/json-rpc-api):`eth`、`net`、`web3` 和 `debug` 命名空间中支持的方法。
- [**构建**](/cn/explanation/build-overview):账户、支付、合约和代理,按你正在发布的内容组织。
Loading
Loading