@eco-foundation/routes-ts

中文文档
3.2.24发布于 2026/09/30SEE LICENSE IN LICENSETypeScriptCommonJS近 30 天下载 6679

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

中文使用文档
文档目录34 节
  1. 目录
  2. 结构概览
  3. 如何运作
  4. 核心组成部分
  5. 他们如何一起工作
  6. 关键特性
  7. ERC-7683 一体化
  8. 设置和安装
  9. 先决条件
  10. 项目设置
  11. 发展指挥部
  12. 大楼
  13. 测试
  14. 代码质量
  15. 发展 工作流量
  16. 合同
  17. 门户合同
  18. 采购合同
  19. 辅助合同
  20. 测试
  21. 测试结构
  22. 测试类别
  23. 测试模式
  24. 运行特定测试
  25. 部署
  26. 部署指挥部
  27. 跨 VM 支持
  28. 环境配置
  29. 捐款
  30. 代码标准
  31. 拖动请求核对表
  32. 添加新测试
  33. 特性发展
  34. 支助

生态路线

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

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

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

目录

结构概览

如何运作

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

核心组成部分

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

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

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

多个Prover 类型

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

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

他们如何一起工作

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 (中文(简体) ),跨链订单协议的标准。 这使得能够与其他ERC-7683兼容系统无缝互操作性,并为跨链意向创建和实现提供了标准化接口.

ERC-7683 组件

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

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

ERC-7683 兼容性的好处

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

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

设置和安装

先决条件

安装所需的工具链组件 :

1. 安装节点.js

# 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. 安装软件包管理器

# Install Yarn v1.22.19
npm install -g [email protected]

3. 安装开发工具

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

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

项目设置

1. 克隆和设置

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

2. 安装依赖

yarn install

3. 建设项目

yarn build

发展指挥部

大楼

# Build all contracts
yarn build

# Build with Foundry
forge build

# Build with Hardhat
npx hardhat compile

测试

# 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

代码质量

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

# Format code
yarn format

# Run linting
yarn lint

# Run all quality checks
yarn lint && yarn test

发展 工作流量

# 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 - 处理安保的托肯
  • 各种攻击矢量模拟

测试模式

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));
  }
}

运行特定测试

# 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

部署

部署指挥部

地方发展:

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

测试网部署:

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

主网部署:

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

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

跨 VM 支持

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

# 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数字 :

# 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 共发布 161 个版本,首次发布于 2024/12/18;过去 12 个月发布了 15 个版本。

版本发布日期距今
3.2.24latest2026/09/301 个月前
3.2.232026/09/301 个月前
3.2.222026/09/231 个月前
3.2.212026/09/092 个月前
3.2.202026/08/123 个月前
3.2.192026/06/244 个月前

其他发布通道:beta → 2.8.17。

关于 @eco-foundation/routes-ts 的常见问题

@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 和提交记录判断。