# @eco-foundation/routes-ts 中文文档

规范地址：https://npmcn.com/package/%40eco-foundation/routes-ts/

版本：3\.2\.24
npm 元数据更新时间：2026-10-30T14:04:19.528Z
中文译文更新时间：2026-11-13T05:49:07.755Z
软件包许可：SEE LICENSE IN LICENSE

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40eco-foundation/routes-ts
原文对照：https://npmcn.com/package/%40eco-foundation/routes-ts/?lang=original
项目主页：https://github.com/eco/eco-routes#readme
源码仓库：https://github.com/eco/eco-routes

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.2 MB，52 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2024-12-17T20:06:53.360Z
- 最新版本发布：2026-09-30T02:03:53.359Z
- 近 30 天下载量：6679（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：161（近 12 个月 15 个）

## 中文简介

生态路线协议(Eco Routes Protocol)是一个分散的基于意向的系统,允许用户向网络提交意向,并由一个解答者在目的地卷起他们的相声时完成.

## 安装

```sh
npm install @eco-foundation/routes-ts
```

也可以使用：`pnpm add @eco-foundation/routes-ts`、`yarn add @eco-foundation/routes-ts`、`bun add @eco-foundation/routes-ts`

## README

# 生态路线

由意向驱动,无授权,信任中立的协议,为创造,激励执行,证明跨链交易提供便利. 这个执行支持多个跨链通讯协议,包括Hyperlane,LayerZero,Metalayer,和Polymer.

我们确定了三个主要用户简介:

-   **用户**:想要通过不同链条进行交易的个人
-   **解决方案**: 有意代表他人进行收费交易的个人
-   **推动者**: 有意在源链上证明目的地链上意图已实现的个人

## 目录

-   [结构概览](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-architecture-overview)
-   [设置和安装](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-setup--installation)
-   [发展指挥部](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-development-commands)
-   [合同](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-contracts)
-   [测试](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-testing)
-   [部署](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-deployment)
-   [捐款](https://npmcn.com/package/%40eco-foundation/routes-ts/#readme-contributing)

## 结构概览

### 如何运作

A 类 **用户** 想要通过创建意图启动跨链交易。 简而言之,意图代表 **用户**目的地链上的终点目标. 里面有他们想打的电话 那些电话的相应地址 资源a **解决方案** 需要执行这些电话,奖励 **用户** 愿意支付 **解决方案** 代表它们执行这一呼吁以及其他元数据。 A 类 **用户** 可在我们的系统上直接公布,或以其他方式将有关信息传播给 **解决方案**A级 **用户** 还必须为这种意图提供资金 -- -- 代管与意图相应的奖励标志。 A 类 **解决方案**在看到这一意图后,根据它盈利的投入和产出确定,并确保 **用户** 已经为意图提供了资金,筹集了所需资源,并完成了目的地链上符合用户意图的意向交易,在目的地链上存储已实现的意图散列。 A 类 **普罗弗** - 也许 **解决方案** 本身或它们订阅的服务 - 查看此实现交易,并证明目的地链上已完成交易的散列与源链上的意图相符。 在意图被标记为证明之后 **解决方案** 可以收回他们的奖励.

### 核心组成部分

#### **门户合同** (单位:千美元)`contracts/Portal.sol`(中文(简体) )

管理整个意图生命周期的主要意图协议:

-   **有意创建**:用户定义带有特定参数的跨链操作
-   **有意供资**: 用户代管确定金库中的奖励符以激励解决者执行
-   **有意实现**: 溶解器执行请求的操作并提供证据
-   **验证**:通过多种验证类型验证目的地链实现验证
-   **报酬结算**: 向成功的解决者分配奖励

#### **多个Prover 类型**

与不同跨链通信协议相融合的专门证明:

-   **超透视**: 跨链信息发送使用超链路
-   **图层ZeroProver**: 与TyerseZero协议结合进行跨链核查
-   **元解析器**: 用于跨链证明的元解析器
-   **保温器**: 用于跨链证明的聚合物
-   **本地文件**: 处理同链意图

### 他们如何一起工作

```mermaid
sequenceDiagram
    participant User
    participant SourcePortal as Portal (Source Chain)
    participant DestPortal as Portal (Destination Chain)
    participant Solver
    participant DestProver as Prover (Destination Chain)
    participant Bridge as Cross-Chain Bridge
    participant SourceProver as Prover (Source Chain)

    User->>SourcePortal: Publish Intent
    User->>SourcePortal: Fund Intent
    Solver->>DestPortal: Fulfill Intent
    Solver->>DestPortal: Prove Intent
    DestPortal->>DestProver: Send Proof Message
    DestProver->>Bridge: Send Proof Message
    Bridge->>SourceProver: Deliver Proof Message
    SourceProver->>SourceProver: Handle & Create Proof Record
    Solver->>SourcePortal: Withdraw Rewards
    SourcePortal->>SourceProver: Verify Proof
    SourcePortal->>Solver: Release Rewards
```

1.  **有意生命周期**:门户网站管理全部意向创建、供资和实现过程
2.  **跨部门消息**: 多个验证器类型处理不同的桥接协议以提供验证
3.  **警卫**: 每个桥的安全模块验证跨链条信息
4.  **默认系统**: 确定性金库的建立,以奖励代管和结算

### 关键特性

-   **ERC-7683 兼容性**:全面实施跨链订单标准
-   **多钱支持**: 与任何 EVM 链相通,并支持跨 VM 集成
-   **多桥支持**: Hyperlane, LayerZero, Metalayer, 和多聚体集成
-   **解决方案奖励**:基于奖励的系统鼓励解决者参与
-   **决定地址**:基于CREATE2-一致跨链地址的部署
-   **ERC20 一体化**:基于土著许可证的无气审批和综合象征性支持
-   **警卫**: 通过门户和桥口专用安全模块进行多层验证

### ERC-7683 一体化

生态路线工具 [ERC-7683 (中文(简体) )](https://eips.ethereum.org/EIPS/eip-7683),跨链订单协议的标准。 这使得能够与其他ERC-7683兼容系统无缝互操作性,并为跨链意向创建和实现提供了标准化接口.

#### ERC-7683 组件

**EcoERC7683 奥里金塞特勒**: 执行ERC-7683标准、在源链上创建意图和提供资金的我们的系统的切入点.

**ECOERC7683 调试 定居者**:一个抽象的合同,由我们的门户网站继承,处理ERC-7683兼容的意向在目的地链上实现.

#### ERC-7683 兼容性的好处

-   **标准化接口**: 与任何ERC-7683工具和基础设施相兼容
-   **生态系统互通性**: 与其他基于意图的协议无缝工作
-   **开发者经验**: 已经使用 ERC- 7683 的开发者的熟悉模式
-   **未来证明**: 建立在不断发展的跨链交易标准上

用户可以通过我们的本土界面和标准化的ERC-7683接口来创建并实现意向,提供最大的灵活性和相容性.

## 设置和安装

### 先决条件

安装所需的工具链组件 :

#### 1\. 安装节点.js

```bash
# Install nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

# Install and use Node.js v18.20.3
nvm install v18.20.3
nvm use v18.20.3
```

#### 2\. 安装软件包管理器

```bash
# Install Yarn v1.22.19
npm install -g yarn@1.22.19
```

#### 3\. 安装开发工具

```bash
# Foundry (recommended)
curl -L https://foundry.paradigm.xyz | bash
foundryup

# Alternative: Hardhat is also supported
npm install -g hardhat
```

### 项目设置

#### 1\. 克隆和设置

```bash
git clone https://github.com/eco/eco-routes.git
cd eco-routes
```

#### 2\. 安装依赖

```bash
yarn install
```

#### 3\. 建设项目

```bash
yarn build
```

## 发展指挥部

### 大楼

```bash
# Build all contracts
yarn build

# Build with Foundry
forge build

# Build with Hardhat
npx hardhat compile
```

### 测试

```bash
# Run all tests
yarn test

# Run Foundry tests
forge test

# Run with coverage
yarn coverage

# Run specific test file
forge test --match-contract PortalTest

# Run with test output
forge test -vvv
```

### 代码质量

运行这些命令以确保您的代码符合标准 :

```bash
# Format code
yarn format

# Run linting
yarn lint

# Run all quality checks
yarn lint && yarn test
```

### 发展 工作流量

```bash
# Start local development environment
# (Configure your local chain setup as needed)

# Deploy contracts locally
forge script script/Deploy.s.sol --broadcast --rpc-url localhost

# Run tests against deployed contracts
forge test --rpc-url localhost
```

## 合同

### 门户合同

#### 关键函数 :

-   `publish` - 在源链上创建并发布意图
-   `fund` - 通过确定性的金库,以奖品资助意图
-   `fulfill` - 执行意向行动并标出已完成
-   `prove` - 从目的地链上提交实现证明
-   `refund` - 如果在超时时间内未实现偿还意图
-   `withdraw` - 成功验证后撤销奖励

#### 关键部件 :

-   **有意来源**:在源链上管理意向创建、供资和奖励结算
-   **收件箱**:处理目的地链上的意向
-   **默认**:通过CREATE2提供具有决定性地址的奖牌
-   **执行者**: 安全批量执行意图电话,进行全面安全检查

#### 有意生命周期细节 :

**意图出版**:意向可以在任何链条上发布,而不论输入和输出符所住的地方. 意图无需通过门户网站发布——用户如果选择,可以直接向解答者发布意图信息.

**有意供资**:通过CREATE2创建的确定性断层中存储着受资助意图的奖励符. 意向书可以在出版期间,事后通过许可2签名,或者通过直接向"地道"(Vault)转让道具来资助.

**有意实现**:Fufflement发生于目的地链路门户. 索尔弗斯批准门户网站 以拉出所需的符号 并呼叫完成。 实现可能触发与证明相关的后处理,例如将消息转发回源链.

**意向奖励结算**: 结算发生在源链上。 提取流量检查证明意图得到证实,并将奖励信物转让给解题人. 如果在最后期限之前未实现意图,用户可以触发退款. 边际案件,如资金过多,处理优雅.

### 采购合同

#### 超Prover 合同

跨链消息传输使用超链路协议 :

#### 关键函数 :

-   `prove` - 通过Hyperlane生成并发送证明信息
-   `handle` - 处理收到的Hyperlane信件并创建证明记录

#### 层层复制合同

与图层Zero协议结合 :

#### 关键函数 :

-   `prove` - 通过LayerZero生成并发送证明信息
-   `lzReceive` - 处理收到的图层Zero信件

#### 保理商Prover合同

与多聚体协议相融合:

#### 关键函数 :

-   `prove` - 从源头事件排出精液,供Polymer转发
-   `validate` - 从Polymer的CrossL2ProverV2验证和处理证据

### 辅助合同

#### 破损合同

决定性奖励代管制度:

-   接受原生和ERC20令牌存款
-   向已证实的解决者发放奖励
-   处理过期意图的退款

#### 执行合同

安全呼叫执行系统 :

-   只有 Portal 才能执行调用
-   防止向欧洲审计机关发出危险电话
-   带有全面错误处理的批量执行

## 测试

### 测试结构

-   **单位测试**: 位于 `test/` 按合同编排的目录
-   **整合测试**:跨多个合同的端到端工作流程测试
-   **安全测试**: 攻击向量和边缘大小写测试

### 测试类别

#### 核心合同测试:

-   `Portal.t.sol` - 主要门户功能
-   `Vault.t.sol` - 代管和结算报酬
-   `Executor.t.sol` - 安全呼叫执行
-   `Inbox.t.sol` - 有意完成工作流程
-   `IntentSource.t.sol` - 有意创造和筹资

#### Prover测试 :

-   `HyperProver.t.sol` - 超连带综合测试
-   `LayerZeroProver.t.sol` - 地层Zero集成测试
-   `MetaProver.t.sol` - 元器件集成测试
-   `PolymerProver.t.sol` - 多聚体集成测试

#### 安全测试 :

-   `TokenSecurity.t.sol` - 处理安保的托肯
-   各种攻击矢量模拟

### 测试模式

```solidity
contract PortalTest is BaseTest {
  function test_intentFulfillment() public {
    // Setup intent and accounts
    Intent memory intent = createTestIntent();

    // Fund intent
    portal.fund(intent, fundingAmount);

    // Execute fulfillment
    portal.fulfill(intent, solver);

    // Verify success
    assertTrue(portal.isFulfilled(intentHash));
  }
}
```

### 运行特定测试

```bash
# Run portal-specific tests
forge test --match-contract Portal

# Run prover tests
forge test --match-contract HyperProver

# Run with specific pattern
forge test --match-test test_fulfill
```

## 部署

### 部署指挥部

#### 地方发展:

```bash
# Deploy all contracts locally
forge script script/Deploy.s.sol --broadcast --rpc-url localhost
```

#### 测试网部署:

```bash
# Deploy to specific testnet
forge script script/Deploy.s.sol --broadcast --rpc-url $TESTNET_RPC_URL --verify
```

#### 主网部署:

```bash
# Deploy to mainnet
forge script script/Deploy.s.sol --broadcast --rpc-url $MAINNET_RPC_URL --verify

# Or use deployment script
./scripts/deployRoutes.sh
```

### 跨 VM 支持

跨核查团部署(如与索拉纳合并):

```bash
# Deploy with cross-VM prover support
CROSS_VM_PROVERS="0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" ./scripts/deployRoutes.sh

# Multiple cross-VM chains
CROSS_VM_PROVERS="0x1234...solana,0x5678...cosmos" ./scripts/deployRoutes.sh
```

### 环境配置

创建 `.env` 文件基于 `.env.example`数字 :

```bash
# RPC endpoints
MAINNET_RPC_URL=
TESTNET_RPC_URL=

# Private keys
DEPLOYER_PRIVATE_KEY=

# Etherscan API keys for verification
ETHERSCAN_API_KEY=
```

## 捐款

### 代码标准

1.  **格式化**: 使用 `yarn format`
2.  **线性**: 传出 `yarn lint` 无警告
3.  **测试**: 所有测试都必须通过
4.  **文档**: 文档 公共 API 和复杂逻辑
5.  **警卫**:遵循最佳做法并包括安全测试

### 拖动请求核对表

-   [ ] 代码格式化( E)`yarn format`(中文(简体) )
-   [ ] 林廷通过(`yarn lint`(中文(简体) )
-   [ ] 所有考试通过(`yarn test`(中文(简体) )
-   [ ] 维持或改进覆盖率
-   [ ] 为 API 更改更新文档
-   [ ] 所审议的所涉安全问题

### 添加新测试

遵循现有模式 `test/`数字 :

1.  创建带有描述性名称的测试文件
2.  使用 `BaseTest` 通用测试基础设施
3.  测试成败案例
4.  包括安全和边框测试

### 特性发展

1.  **合同**: 在适当的目录中添加新合同
2.  **跨海峡一体化**: 遵循既定的验证模式
3.  **测试**: 增加综合单元和综合测试
4.  **文档**: 更新 README 和内置文档

* * *

## 支助

关于问题:

1.  检查现有的 GitHub 问题
2.  为使用示例审查测试文件
3.  检查合同文件的技术细节

该项目执行生产准备的跨链意向协议,包括全面的测试、多桥式支持和安全意识设计模式。 模块架构允许在维持安全和效率的同时,以新的桥梁协议方便地扩展.

## 常见问题

### @eco-foundation/routes-ts 是什么？

生态路线协议\(Eco Routes Protocol\)是一个分散的基于意向的系统,允许用户向网络提交意向,并由一个解答者在目的地卷起他们的相声时完成\.

### 如何安装 @eco-foundation/routes-ts？

在项目目录运行 npm install @eco-foundation/routes-ts，或使用 pnpm add / yarn add / bun add。

### @eco-foundation/routes-ts 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @eco-foundation/routes-ts 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @eco-foundation/routes-ts 可以商用吗？

@eco-foundation/routes-ts 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @eco-foundation/routes-ts 的下载量有多少？

根据 npm 官方下载统计，@eco-foundation/routes-ts 在 2026/10/13 – 2026/11/11 这 30 天内被下载 6,679 次，日均约 223 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @eco-foundation/routes-ts 还在维护吗？

最新版本 3\.2\.24 发布于 2026/09/30（1 个月前）；至今共发布 161 个版本，其中过去 12 个月发布了 15 个；首次发布于 2024/12/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

