@confio/relayer

中文文档
0.12.0发布于 2024/03/08MITTypeScriptCommonJS近 30 天下载 6340

类型脚本中的 IBC 重置器

中文使用文档
文档目录18 节
  1. 所需资源
  2. 重要说明
  3. 安装
  4. 国家预防机制
  5. 使用量
  6. ibc 设置
  7. ibc 重排器
  8. 快开始
  9. 配置并启动中继器
  10. 链条之间发送符号
  11. 配置概况
  12. 监测
  13. 本地设置
  14. 发展
  15. 整合测试
  16. 所需链条
  17. 完全节点要求
  18. 网络应用

更新

npm version

类型脚本执行 中型散货箱 复更相续.

为了了解它能做什么,请 检查我们的特性矩阵

你也会读 我们的规格页面,这解释了如何 中继器起作用了 但"快起步"或许能提供更好的介绍.

这种回波主要用作节点二进制来进行IBC接力. 但是,所有的逻辑是 可在库中找到,可在浏览器或节点中同样运行. 您可以看到将中继器嵌入到 下面的网络应用。 。 。 .

所需资源

  • 节点.js 18岁或以后
  • 兼容、中型散货箱驱动链上两个完整节点的RPC地址
  • 见 下项连锁要求 详细介绍所支持的链条

重要说明

版本直到 v0.1.6 支持宇宙 SDK v0.41.1+。 。 。 . 从 v0.2.0 我们要求招标 v0.34.9+ (用于 SDK ) v0.42.4+) (中文(简体) ). 如果您正在连接到 v0. 41 链, 请使用 v0.1.x 中继器.

与 v0.2.0 在 BeginBlock 和 EndBlock 中添加对中继包的支持。 然而,这需要 招标薄荷中不可用的额外的 rpc 端点 v0.41.1因此,我们增加 sDK最小相容版本.

安装

国家预防机制

安装 最新发布。 。 。 .

npm i -g @confio/relayer

或者从中安装 main 树枝.

npm i -g @confio/relayer@main

注: 我们在完成一个预设的里程碑后,或者当它觉得正确时,做一个人工发布. 没有发布时间表 现在为了利用最新变化,使用 main 安装时标记.

使用量

安装后, ibc-setup 财务报告和审定财务报表 ibc-relayer 可执行文件.

ibc 设置

收集命令以快速设置中继器并查询IBC/chain数据.

ibc 重排器

读取配置并开始转发包.

快开始

配置并启动中继器

  1. 输入配置

    ibc-setup init --src malaga --dest uni
    
    • 创建中继器主目录 ~/.ibc-setup
    • 创建 app.yaml 内继器的家与 src, (中文(简体) ), dest 和新生成的 mnemonic
    • 拖动默认值 registry.yaml 到中继器的家
    • 基金余额 malaga 所以中继器可以在中继包时支付费用

    注: 两个测试网都在公众中运行. 您不需要在当地启动任何块链来完成快速启动指南 .

    注: 运行 ibc-setup balances 可以看到每个地址上的符号数量.

  2. 获取测试网符号 uni

    • 通过: ibc-setup keys list | grep uni
    • 加入朱诺不和 此邀请链接
    • 转到 faucet 频道
    • 在上述频道中请求此地址的令牌 : $request iaa1fxmqew9dgg44jdf3l34zwa8rx7tcf42wz8ehjk
    • 请检查access-date=中的日期值 (帮助) ibc-setup balances

    见 原始说明

  3. 创建 ics20 频道

    ibc-setup ics20 -v
    
    • 在源代码和去除链上创建新连接
    • 将连接 id 保存到 app.yaml 文件
    • 创建新频道
  4. 在动词模式和10s频率投票中启动中继器

    ibc-relayer start -v --poll 15
    

链条之间发送符号

  1. 确保 wasmd 二进制已安装在您的系统中

    • 您必须在 amd64 上运行 Linux 或 OSX( 不是 arm64/ Mac M1)
    • 安装 Go 1.17+ 并确保 $PATH 包含 去二进制( 您可能需要重新启动您的终端会话)
    • 复制和安装 wasmd数字 :
      git clone https://github.com/CosmWasm/wasmd.git
      cd wasmd
      git checkout v0.27.0
      make install
      
  2. 确保 juno 二进制已安装在您的系统中

    • 您必须在 amd64 上运行 Linux 或 OSX
    • 安装 Go 1.17+ 并确保 $PATH 包含 去二进制( 您可能需要重新启动您的终端会话)
    • 复制和安装 juno数字 :
      git clone https://github.com/CosmosContracts/juno
      cd juno
      git checkout v6.0.0
      make install
      
  3. 创建新账户并为其提供资金

    wasmd keys add sender
    JSON=$(jq -n --arg addr $(wasmd keys show -a sender) '{"denom":"usponge","address":$addr}')
    curl -X POST --header "Content-Type: application/json" --data "$JSON" https://faucet.malaga.cosmwasm.com/credit
    
  4. 创建有效的 IRISnet 地址以发送令牌到

    junod keys add receiver
    

    获取测试网符号 如果您想要向 malaga。 。 。 .

  5. 发送令牌

    wasmd tx ibc-transfer transfer transfer <channel-id> $(junod keys show -a receiver) 200usponge --from $(wasmd keys show -a sender) --node http://rpc.malaga.cosmwasm.com:80 --chain-id malaga-1 --fees 2000usponge --packet-timeout-height 0-0
    
    • 替换 <channel-id> 在配置中继器( 第2分)时获得的频道 id
    • 如果您清除终端, 请查询频道
      ibc-setup channels --chain malaga
      
  6. 监视中继器输出

配置概况

中继器配置被存储在中继器的主目录下. 默认它位于 $HOME/.ibc-setup不过,可以按客户定制 home 选项,例如:

# initialize the configuration at /home/user/relayer_custom_home
ibc-setup init --home /home/user/relayer_custom_home

# read the configuration from /home/user/relayer_custom_home
ibc-relayer start --home /home/user/relayer_custom_home

有3个文件住在中继器的家里.

  • 登记册.yaml (必须)

    包含有相应信息的可用链条列表。 登记册的链条可通过下列方式查询: ibc-setup 二进制或内部 app.yaml 文档. 查看登记的例子。 雅姆尔文件.

  • app.yaml (英语) (可选)

    持有源链或目的地链等针对中继器的选项. 这些选项可以被CLI旗或环境变量所压倒.

  • 最后- queried- higves.json (英语) (可选)

    存储器在中继器启动时最后一次询问更高性能 。 中继器运行时不断被以新的高度覆盖. 只需删除此文件来扫描事件, 永远.

更多地学习配置.

监测

中继器收集各种度量器为 a 普罗米修斯 实例可以消耗.

为了能够收集指标,请通过 --enable-metrics 启动中继器时的旗帜 :

ibc-relayer start --enable-metrics

注: 通过环境变量也可以启用计量 RELAYER_ENABLE_METRICS=true,或带有 enableMetrics: true 条目 app.yaml 文档,如 配置规格。 。 。 .

这个 GET /metrics 端点默认会在端口被曝光 8080,您可以使用 --metrics-port 旗帜, RELAYER_METRICS_PORT env 变量,或 metricsPort 输入 app.yaml。 。 。 .

本地设置

普罗米修斯

  1. 用启用的度量衡启动中继器
  2. 弹出普罗米修斯的例子:
    docker run -it -v $(pwd):/prometheus -p9090:9090 prom/prometheus --config.file=demo/prometheus.yaml
    

    注: 确保 the --config.file=<path> 旗下指向现有配置文件。 如果你想用的话 示例配置,只需在此寄存器根上运行命令。 否则,必须调整音量(-v)和配置您设置的文件路径 .

  3. 在浏览器中打开普罗米修斯仪表板 http://localhost:9090 (英语)

格拉法纳

  1. 把Grafana的例子换掉:
    docker run -d --name=grafana -p 3000:3000 grafana/grafana
    
  2. 导航到 http://localhost:3:00 (英语) 登录( n)admin编号 :admin(中文(简体) )
  3. 创建普罗米修斯数据源

    注: 使用 http://host.docker.internal:9090 作为服务器 URL并 Server 作为访问方法.

  4. 创建新图表和查询数据

    注: 有用的指南:

发展

参考开发页面.

整合测试

ts-relayer既可以作为库也作为二进制. 这使得我们能制作强大的节点脚本,或者 方便测试 CosmWasm 合同的 CI 代码中的 IBC 流. 如何这样做,可以举出以下两个例子:

所需链条

区块链必须基于 Cosmos SDK v0.42.4+特别是,它必须 PR 8458 (中文(简体) ) 财务报告和审定财务报表 9081卢比 合并( 如果您正在使用叉) , 以便中继器正常工作 . ibc-setup 应努力 v0.40.0+

链必须具有巨大的价值 staking.params.historical_entries (常被设定为起源). 默认为"1000",这应该与"1000"相通,但如果设定为"0.

完全节点要求

理想的情况是你控制了中继器连接的节点. 如果不行,应该运行 由已知和信任的一方,您可以检查配置。 注意,恶意节点 可能导致中继器在气体上发送无效的包和废品符(但不创建无效状态).

应启用索引器(tx_index.indexer = "kv" 内 config.toml, (中文(简体) ), 所有事件均应编制索引index-events = [] 内 app.toml) (中文(简体) ).

节点必须支持历史查询. --pruning=nothing 肯定有用,但会使用 巨大的磁盘空间。 也可以修剪为3周的数据 --pruning=custom --pruning-keep-recent=362880 --pruning-keep-every=0 --pruning-interval=100,已经 测试。 你可能会减少 pruning-keep-recent 和3600一样低,但这需要测试.

网络应用

此repo也可以被导入为库并被用入网络应用. @ 小时工作一直这么好 共享 a 使用中继器的 Vue.js 应用程序样本。 。 。 . 包括一些很好的代码样本 使用 CosmJS 发送 Ibc 传输消息 以及 设置 财务报告和审定财务报表 运行中继器。 。 。 .

screenshot

密钥导入为 import { IbcClient, Link } from "@confio/relayer/build";

版本与发布记录

@confio/relayer 共发布 105 个版本,首次发布于 2021/03/16;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.12.0latest2024/03/082 年前
0.11.32024/02/252 年前
0.11.22023/12/062 年前
0.11.12023/12/052 年前
0.11.02023/11/292 年前
0.10.02023/08/163 年前

其他发布通道:main → 0.0.0-main-3b30964。

关于 @confio/relayer 的常见问题

@confio/relayer 是什么?

类型脚本中的 IBC 重置器

如何安装 @confio/relayer?

在项目目录运行 npm install @confio/relayer,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ibc-setup、ibc-relayer,可以用 npx ibc-setup 直接运行。

@confio/relayer 支持 TypeScript 吗?

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

@confio/relayer 支持 ESM 还是 CommonJS?

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

@confio/relayer 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@confio/relayer 可以商用吗?

@confio/relayer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@confio/relayer 的下载量有多少?

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

@confio/relayer 还在维护吗?

最新版本 0.12.0 发布于 2024/03/08(2 年前);至今共发布 105 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/03/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。