更新
类型脚本执行 中型散货箱 复更相续.
为了了解它能做什么,请 检查我们的特性矩阵
你也会读 我们的规格页面,这解释了如何 中继器起作用了 但"快起步"或许能提供更好的介绍.
这种回波主要用作节点二进制来进行IBC接力. 但是,所有的逻辑是 可在库中找到,可在浏览器或节点中同样运行. 您可以看到将中继器嵌入到 下面的网络应用。 。 。 .
所需资源
重要说明
版本直到 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-setup --help要打印用法 - ibc 设置光谱
ibc 重排器
读取配置并开始转发包.
- 运行
ibc-relayer --help要打印用法 - ibc 重排光谱
快开始
配置并启动中继器
-
输入配置
ibc-setup init --src malaga --dest uni- 创建中继器主目录
~/.ibc-setup - 创建
app.yaml内继器的家与src, (中文(简体) ),dest和新生成的mnemonic - 拖动默认值
registry.yaml到中继器的家 - 基金余额
malaga所以中继器可以在中继包时支付费用
注: 两个测试网都在公众中运行. 您不需要在当地启动任何块链来完成快速启动指南 .
注: 运行
ibc-setup balances可以看到每个地址上的符号数量. - 创建中继器主目录
-
获取测试网符号
uni- 通过:
ibc-setup keys list | grep uni - 加入朱诺不和 此邀请链接
- 转到
faucet频道 - 在上述频道中请求此地址的令牌 :
$request iaa1fxmqew9dgg44jdf3l34zwa8rx7tcf42wz8ehjk - 请检查access-date=中的日期值 (帮助)
ibc-setup balances
见 原始说明
- 通过:
-
创建
ics20频道ibc-setup ics20 -v- 在源代码和去除链上创建新连接
- 将连接 id 保存到
app.yaml文件 - 创建新频道
-
在动词模式和10s频率投票中启动中继器
ibc-relayer start -v --poll 15
链条之间发送符号
-
确保
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
-
确保
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
-
创建新账户并为其提供资金
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 -
创建有效的 IRISnet 地址以发送令牌到
junod keys add receiver获取测试网符号 如果您想要向
malaga。 。 。 . -
发送令牌
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
- 替换
-
监视中继器输出
配置概况
中继器配置被存储在中继器的主目录下. 默认它位于 $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。 。 。 .
本地设置
普罗米修斯
- 用启用的度量衡启动中继器
- 弹出普罗米修斯的例子:
docker run -it -v $(pwd):/prometheus -p9090:9090 prom/prometheus --config.file=demo/prometheus.yaml注: 确保
the --config.file=<path>旗下指向现有配置文件。 如果你想用的话 示例配置,只需在此寄存器根上运行命令。 否则,必须调整音量(-v)和配置您设置的文件路径 . - 在浏览器中打开普罗米修斯仪表板 http://localhost:9090 (英语)
格拉法纳
- 把Grafana的例子换掉:
docker run -d --name=grafana -p 3000:3000 grafana/grafana - 导航到 http://localhost:3:00 (英语) 登录( n)
admin编号 :admin(中文(简体) ) - 创建普罗米修斯数据源
注: 使用
http://host.docker.internal:9090作为服务器 URL并Server作为访问方法. - 创建新图表和查询数据
注: 有用的指南:
发展
整合测试
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 传输消息 以及 设置 财务报告和审定财务报表 运行中继器。 。 。 .

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