参考配置
CONFIG_FILES
说明:(仅限环境变量)要加载的附加配置文件路径列表(例如 hyperlane-monorepo/rust/config
中的路径)。它们将按照从第一个到最后一个的顺序进行合并,因此如果第一个和最后一个都指定了特定的配置路径,那么将使用最后一个文件中设置的值。
这些文件必须在代理程序可以访问的文件系统中可访问。如果您正在运行Docker,请参阅代理配置指南中有关将配置文件挂载到 Docker 容器中的提示。
Optional: Yes
Agents: All
Type: string
(用逗号分隔的文件路径列表)
- As Arg
- As Env
- As Config
在参数不支持。
export CONFIG_FILES='./config/ethereum/my-config.json,./config/ethereum/my-validator-config.json'
在配置文件中不支持。
chains
说明: 每个代理必须使用的链的配置。
Optional: No
Agents: All
Type: Map<string, ChainSetup (Object)>
(See chains.*
for ChainSetup
values)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.*
export HYP_CHAINS_${CHAIN_NAME}_*="...."
export HYP_CHAINS_ETHEREUM_*="...."
{
"chains": {
"`<chain_name>`": {},
"ethereum": {}
}
}
chains.<chain_name>
.name
说明: 域名的名称。允许指定与链的真实名称不同的名称。这几乎总是应该与 chain_name
相同。
Requires: 如果是已知的域名,则需要与域 ID 对齐。
Optional: No
Agents: All
Type: string
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.name $DOMAIN_NAME
--chains.ethereum.name ethereum
export HYP_CHAINS_${CHAIN_NAME}_NAME="$DOMAIN_NAME"
export HYP_CHAINS_ETHEREUM_NAME="ethereum"
{
"chains": {
"`<chain_name>`": {
"name": "<domain_name>"
},
"ethereum": {
"name": "ethereum"
}
}
}
chains.<chain_name>
.domain
说明: 用于唯一标识域的hyperlane域ID。另请参阅:Domain Identifiers。
Requires: 如果是已知域名,则与域名一致。
Optional: No
Agents: All
Type: Numeric (string | number)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.domain $DOMAIN_ID
--chains.ethereum.domain 1
export HYP_CHAINS_${CHAIN_NAME}_DOMAIN="$DOMAIN_NAME"
export HYP_CHAINS_ETHEREUM_DOMAIN=1
{
"chains": {
"`<chain_name>`": {
"domain": "<domain_id>"
},
"ethereum": {
"domain": 1
}
}
}
chains.<chain_name>
.mailbox
说明: 链上邮箱合约的地址。另请参阅 [contract addresses](.../reference/contract-addresses.mdx)。
Optional: No
Agents: All
Type: Hash (string)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.mailbox "$MAILBOX_ADDRESS"
--chains.ethereum.mailbox "0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70"
export HYP_CHAINS_${CHAIN_NAME}_MAILBOX="$MAILBOX_ADDRESS"
export HYP_CHAINS_ETHEREUM_MAILBOX="0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70"
{
"chains": {
"`<chain_name>`": {
"addresses": {
"mailbox": "<mailbox_address>"
}
},
"ethereum": {
"addresses": {
"mailbox": "0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70"
}
}
}
}
chains.<chain_name>
.interchainGasPaymaster
说明: 链上链间燃料主合同的地址。另请参阅 [contract addresses](.../reference/contract-addresses.mdx)。
Optional: No
Agents: All
Type: Hash (string)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.interchainGasPaymaster "$IGP_ADDRESS"
--chains.ethereum.interchainGasPaymaster "0x6cA0B6D22da47f091B7613223cD4BB03a2d77918"
export HYP_CHAINS_${CHAIN_NAME}_INTERCHAINGASPAYMASTER="$IGP_ADDRESS"
export HYP_CHAINS_ETHEREUM_INTERCHAINGASPAYMASTER="0x6cA0B6D22da47f091B7613223cD4BB03a2d77918"
{
"chains": {
"`<chain_name>`": {
"addresses": {
"interchainGasPaymaster": "<igp_address>"
}
},
"ethereum": {
"addresses": {
"interchainGasPaymaster": "0x6cA0B6D22da47f091B7613223cD4BB03a2d77918"
}
}
}
}
chains.<chain_name>
.validatorAnnounce
说明: 链上验证公告合约的地址。另请参阅 [contract addresses](.../reference/contract-addresses.mdx)。
Optional: No
Agents: All
Type: Hash (string)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.validatorAnnounce "$VALIDATOR_ANNOUNCE_ADDRESS"
--chains.ethereum.validatorAnnounce "0x9bBdef63594D5FFc2f370Fe52115DdFFe97Bc524"
export HYP_CHAINS_${CHAIN_NAME}_VALIDATORANNOUNCE="$VALIDATOR_ANNOUNCE_ADDRESS"
export HYP_CHAINS_ETHEREUM_VALIDATORANNOUNCE="0x9bBdef63594D5FFc2f370Fe52115DdFFe97Bc524"
{
"chains": {
"`<chain_name>`": {
"addresses": {
"validatorAnnounce": "<validator_announce_address>"
}
},
"ethereum": {
"addresses": {
"validatorAnnounce": "0x9bBdef63594D5FFc2f370Fe52115DdFFe97Bc524"
}
}
}
}
chains.<chain_name>
.merkleTreeHook
说明: 链上merkle树钩子合约的地址。另请参阅 [contract addresses](.../reference/contract-addresses.mdx)。
Optional: No
Agents: All
Type: Hash (string)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.merkleTreeHook "$MERKLE_TREE_HOOK_ADDRESS"
--chains.ethereum.merkleTreeHook "0x48e6c30B97748d1e2e03bf3e9FbE3890ca5f8CCA"
export HYP_CHAINS_${CHAIN_NAME}_MERKLETREEHOOK="$MERKLE_TREE_HOOK_ADDRESS"
export HYP_CHAINS_ETHEREUM_MERKLETREEHOOK="0x48e6c30B97748d1e2e03bf3e9FbE3890ca5f8CCA"
{
"chains": {
"`<chain_name>`": {
"addresses": {
"merkleTreeHook": "<merkle_tree_hook_address>"
}
},
"ethereum": {
"addresses": {
"merkleTreeHook": "0x48e6c30B97748d1e2e03bf3e9FbE3890ca5f8CCA"
}
}
}
}
chains.<chain_name>
.signer
说明: 本链应使用的签名者
Optional: Yes(如果未指定,将使用 defaultsigner
)
Agents: All
Type: SignerConf (Object)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.signer.*
export HYP_CHAINS_${CHAIN_NAME}_SIGNER_*="...."
{
"chains": {
"`<chain_name>`": {
"signer": {}
},
"ethereum": {
"signer": {}
}
}
}
chains.<chain_name>
.signer.type
说明: 定义的签名者类型。HexKey
签名者使用私钥,Aws
签名者使用基于 AWS 的 KMS,而 Node
则假设本地节点将签署 RPC 调用。
Optional: Yes;默认设置为 node
,除非指定了 key
,在这种情况下默认设置为 hexKey
。
Agents: All
Type: Enum ("hexKey" | "aws" | "cosmosKey" | "node")
Accepted values for the different VMs are:
- EVM:
hexKey
(ECDSA) oraws
(ECDSA) - sealevel:
hexKey
(ED25519) - cosmos:
cosmosKey
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.signer.type hexKey
--chains.ethereum.signer.type node
export HYP_CHAINS_${CHAIN_NAME}_SIGNER_TYPE="hexKey"
{
"chains": {
"`<chain_name>`": {
"signer": {
"type": "hexKey"
}
},
"ethereum": {
"signer": {
"type": "node"
}
}
}
}
chains.<chain_name>
.signer.key
说明: 本地十六进制密钥。私人密钥的十六进制字符串。
Requires: chains.<chain_name>.signer.type = "hexKey" | undefined
Optional: No(如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.signer.key "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
export HYP_CHAINS_${CHAIN_NAME}_SIGNER_KEY="8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
{
"chains": {
"`<chain_name>`": {
"signer": {
"key": "<key_in_hex>"
}
},
"ethereum": {
"signer": {
"key": "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
}
}
}
}
chains.<chain_name>
.signer.id
说明: 标识 AWS KMS 密钥的 UUID
Requires: chains.<chain_name>.signer.type = "aws"
Optional: No(如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--chains.ethereum.signer.type "alias/validator-signer-ethereum"
export HYP_CHAINS_${CHAIN_NAME}_SIGNER_ID="alias/validator-signer-ethereum"
{
"chains": {
"ethereum": {
"signer": {
"type": "aws",
"id": "alias/validator-signer-ethereum"
}
}
}
}
chains.<chain_name>
.signer.region
说明: AWS 区域
Requires: chains.<chain_name>.signer.type = "aws"
Optional: No(如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.signer.region us-east-1
export HYP_CHAINS_${CHAIN_NAME}_SIGNER_REGION="us-east-1"
{
"chains": {
"`<chain_name>`": {
"signer": {
"type": "aws",
"region": "us-east-1"
}
}
}
}
chains.<chain_name>
.protocol
说明:* 使用的连接协议。
Optional: 默认设置为"ethereum"
Agents: All
Type: Enum ("ethereum" | "fuel")
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.protocol ethereum
--chains.ethereum.protocol ethereum
export HYP_CHAINS_${CHAIN_NAME}_PROTOCOL="ethereum"
export HYP_CHAINS_ARBITRUM_PROTOCOL="ethereum"
{
"chains": {
"`<chain_name>`": {
"protocol": "<protocol>"
},
"arbitrum": {
"protocol": "ethereum"
}
}
}
chains.<chain_name>
.rpcConsensusType
共识类型目前只适用于 EVM 链。
与非 EVM 链的连接只支持一个 RPC url。如果在 rpcUrls中指定了多个 RPC 网址,则只会使用第一个。
**说明:**与提供者进行通信的方式
"single"
使用基本的 http 连接"fallback"
将首先尝试第一个 URL,然后在连接或其他提供者故障时自动“退回”到下一个提供者;这应该只重新尝试由于提供者而失败的调用,而不是调用本身;例如,不足的 gas 错误不会回退。"quorum"
要求大多数 URL 同步一致,但提交事务除外;如果没有指定,它会自动协调 "最新 "区块,以减少同步错误。
Requires: chains.<chain_name>.protocol = "ethereum" | undefined
Optional: Defaults to "fallback"
Agents: All
Type: Enum ("fallback", "single", "quorum")
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.rpcConsensusType single
export HYP_CHAINS_${CHAIN_NAME}_RPCCONSENSUSTYPE="single"
export HYP_CHAINS_ETHEREUM_RPCCONSENSUSTYPE="single"
{
"chains": {
"`<chain_name>`": {
"rpcConsensusType": "single"
},
"ethereum": {
"rpcConsensusType": "single"
}
}
}
chains.<chain_name>
.customRpcUrls
与非 EVM 链的连接只支持一个 RPC 网址。如果指定了多个 RPC 网址,则只会使用第一个。
*说明:**用于连接提供者的URL逗号以分隔。customRpcUrls
和 rpcUrls 之间的区别在于,customRpcUrls
允许从 CLI 或环境变量中输入更加用户友好的内容(逗号分隔 vs 数组)。
Type: string
(以逗号分隔的网址列表,不含空格)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.customrpcurls "$CONNECTION_URLS"
--chains.ethereum.customrpcurls "http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
export HYP_CHAINS_${CHAIN_NAME}_CUSTOMRPCURLS="$CONNECTION_URLS"
export HYP_CHAINS_ETHEREUM_RPCURLS_2_HTTPS="http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
{
"chains": {
"`<chain_name>`": {
"rpcUrls": "<connection_urls>"
},
"ethereum": {
"rpcUrls": "http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
}
}
}
chains.<chain_name>
.rpcUrls
与非 EVM 链的连接只支持一个 RPC 网址。如果指定了多个 RPC 网址,则只会使用第一个。
说明: 用于连接提供者的 URL。最初使用第一个,如果失败,则尝试其他的。有关更多信息,请参阅 rpcConsensusType。
Requires:
(chains.`<chain_name>`.protocol = "ethereum" | undefined)
AND (chains.`<chain_name>`.connection.type = "fallback" | "quorum")
OR chains.`<chain_name>`.protocol = "cosmos" | "sealevel" | "fuel"
Optional: No (如果满足要求)
Agents:
Type: string
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.rpcurls.0.https "$CONNECTION_URL_0"
--chains.${CHAIN_NAME}.rpcurls.1.https "$CONNECTION_URL_1"
--chains.${CHAIN_NAME}.rpcurls.2.https "$CONNECTION_URL_2"
--chains.ethereum.rpcurls.0.https "http://127.0.0.1:8545"
--chains.ethereum.rpcurls.1.https "http://127.0.0.1:8546"
--chains.ethereum.rpcurls.2.https "http://127.0.0.1:8547"
export HYP_CHAINS_${CHAIN_NAME}_RPCURLS_0_HTTPS="$CONNECTION_URL_0"
export HYP_CHAINS_${CHAIN_NAME}_RPCURLS_1_HTTPS="$CONNECTION_URL_1"
export HYP_CHAINS_${CHAIN_NAME}_RPCURLS_2_HTTPS="$CONNECTION_URL_2"
export HYP_CHAINS_ETHEREUM_RPCURLS_0_HTTPS="http://127.0.0.1:8545"
export HYP_CHAINS_ETHEREUM_RPCURLS_1_HTTPS="http://127.0.0.1:8546"
export HYP_CHAINS_ETHEREUM_RPCURLS_2_HTTPS="http://127.0.0.1:8547"
{
"chains": {
"`<chain_name>`": {
"rpcUrls": [
{
"http": "<connection_url_1>"
},
{
"http": "<connection_url_2>"
}
],
},
"ethereum": {
"rpcUrls": [
{
"http": "http://127.0.0.1:8545"
},
{
"http": "http://127.0.0.1:8546"
}
],
}
}
}
chains.<chain_name>
.index.from
说明: 开始索引合约的高度。
Optional: Defaults to 0
Agents: Relayer & Scraper
Type: Numeric (string | number)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.index.from 0
--chains.ethereum.index.from 16271503
export HYP_CHAINS_${CHAIN_NAME}_INDEX_FROM=0
export HYP_CHAINS_ETHEREUM_INDEX_FROM=16271503
{
"chains": {
"`<chain_name>`": {
"index": {
"from": 0
}
},
"ethereum": {
"index": {
"from": 16271503
}
}
}
}
chains.<chain_name>
.index.chunk
说明: 一次查询索引合约的区块数。请注意,配置的提供者必须支持设置的任何值。默认值几乎适用于所有提供者。
Optional: 默认设置为 1999
Agents: Relayer & Scraper
Type: Numeric (string | number)
- As Arg
- As Env
- As Config
--chains.${CHAIN_NAME}.index.chunk 1999
--chains.ethereum.index.chunk 1999
export HYP_CHAINS_${CHAIN_NAME}_INDEX_CHUNK=1999
export HYP_CHAINS_ETHEREUM_INDEX_CHUNK=1999
{
"chains": {
"`<chain_name>`": {
"index": {
"chunk": 1999
}
},
"ethereum": {
"index": {
"chunk": 1999
}
}
}
}
defaultsigner
由于每个 VM 支持不同的签名者类型,因此默认签名者只能支持单个 VM 类型。例如,如果默认签名者是 ECDSA 类型,则只能在 EVM 链上签名。
说明: 默认的签名者应该用于所有没有指定自己的链。
Optional: Yes
Agents: All
Type: SignerConf (Object)
- As Arg
- As Env
- As Config
--defaultSigner.*
export HYP_DEFAULTSIGNER_*="...."
{
"defaultsigner": {}
}
defaultsigner.type
说明: 已定义的签名者类型。HexKey "签名者使用私钥,"Aws "签名者使用基于 AWS 的 KMS,而 "Node "则假定本地节点将签署 RPC 调用。
Optional: 是;默认设置为 node
,除非指定了 key
,在这种情况下默认设置为 hexKey
。
Agents: All
Type: Enum ("hexKey" | "aws" | "cosmosKey" | "node")
- As Arg
- As Env
- As Config
--defaultSigner.type hexKey
export HYP_DEFAULTSIGNER_TYPE="hexKey"
{
"defaultsigner": {
"type": "hexKey"
}
}
defaultsigner.key
说明: 本地十六进制密钥。私人密钥的十六进制字符串。
Requires: defaultsigner.type = "hexKey" | undefined
Optional: No (如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--defaultSigner.key "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
export HYP_DEFAULTSIGNER_KEY="8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
{
"defaultsigner": {
"type": "hexKey",
"key": "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
}
}
defaultsigner.id
说明: 识别 AWS KMS 密钥的 UUID
Requires: defaultsigner.type = "aws"
Optional: No (如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--defaultSigner.id "alias/validator-signer-ethereum"
export HYP_DEFAULTSIGNER_ID="alias/validator-signer-ethereum"
{
"defaultsigner": {
"type": "aws",
"id": "alias/validator-signer-ethereum"
}
}
defaultsigner.region
说明:* AWS 区域
Requires: defaultsigner.type = "aws"
Optional: No (如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--defaultSigner.region us-east-1
export HYP_DEFAULTSIGNER_REGION="us-east-1"
{
"defaultsigner": {
"type": "aws",
"region": "us-east-1"
}
}
metricsport
说明: 在以下平台上公开 prometheus 指标的端口
Optional: Defaults to 9090
Agents: All
Type: Numeric (string | number)
- As Arg
- As Env
- As Config
--metrics-port 9090
export HYP_METRICSPORT=9090
{
"metrics": 9090
}
log.fmt
说明: 日志模块的配置。它控制日志记录。
Optional: 默认设置为 pretty
Agents: All
Type: Enum ("pretty" | "json" | "full" | "compact")
- As Arg
- As Env
- As Config
--log.fmt pretty
export HYP_LOG_FMT="pretty"
{
"log": {
"fmt": "pretty"
}
}
log.level
Description: 日志模块的配置。这控制了日志记录。要获得完整的详细信息(包括依赖项),请使用dependencyTrace
。
Optional: 默认设置为 info
Agents: All
Type: Enum ("dependencyTrace" | "trace" | "debug" | "info" | "warn" | "error" | "off")
- As Arg
- As Env
- As Config
--log.level info
export HYP_LOG_LEVEL="info"
{
"log": {
"level": "info"
}
}
originchainname
说明: 验证者应验证的链的名称以及中继器应从中中继消息的链的名称。 已弃用 Relayer,请使用 #relaychains 代替。
Optional: No - Validators; Yes - Relayer
Agents: Validator & Relayer
Type: string
- As Arg
- As Env
- As Config
--originChainName ethereum
export HYP_ORIGINCHAINNAME="ethereum"
{
"originchainname": "ethereum"
}
validator
说明: 验证器应使用的签名。
Optional: Yes
Agents: All
Type: SignerConf (Object)
- As Arg
- As Env
- As Config
--validator.*
export HYP_VALIDATOR_*="...."
{
"validator": {}
}
validator.type
说明: 已定义的 EVM 签名器类型。请注意,无论验证器在哪个虚拟机上运行,检查点始终使用 EVM ECDSA 曲线签名。HexKey "签名器使用私钥,"Aws "签名器使用基于 AWS 的 KMS,而 "Node "则假定本地节点将签署 RPC 调用。
Optional: Yes; 默认为 node
,除非指定了一个 key
,在这种情况下,默认为 hexKey
。
Agents: All
Type: Enum ("hexKey" | "aws" | "node")
- As Arg
- As Env
- As Config
--validator.type hexKey
export HYP_VALIDATOR_TYPE="hexKey"
{
"validator": {
"type": "hexKey"
}
}
validator.key
说明: 一个本地的十六进制密钥。私钥的十六进制字符串。
Requires: validator.type = "hexKey" | undefined
Optional: No (如果符合要求)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--validator.key 8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61
export HYP_VALIDATOR_KEY="8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
{
"validator": {
"type": "hexKey",
"key": "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
}
}
validator.id
说明: 标识 AWS KMS 密钥的 UUID
Requires: validator.type = "aws"
Optional: No (如果符合条件)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--validator.id "alias/validator-signer-ethereum"
export HYP_VALIDATOR_ID="alias/validator-signer-ethereum"
{
"validator": {
"type": "aws",
"id": "alias/validator-signer-ethereum"
}
}
validator.region
说明: AWS 地区
Requires: validator.type = "aws"
Optional: No (如果符合条件)
Agents: All
Type: string
- As Arg
- As Env
- As Config
--validator.region us-east-1
export HYP_VALIDATOR_REGION="us-east-1"
{
"validator": {
"type": "aws",
"region": "us-east-1"
}
}
checkpointsyncer.type
说明: 定义同步检查点的方法
Optional: No
Agents: Validator
Type: Enum ("localStorage" | "s3")
- As Arg
- As Env
- As Config
--checkpointSyncer.type localStorage
export HYP_CHECKPOINTSYNCER_TYPE="localStorage"
{
"checkpointsyncer": {
"type": "localStorage"
}
}
checkpointsyncer.path
说明: 本地存储类型检查点同步器配置在本地磁盘上的路径。
Requires: checkpointsyncer.type = "localStorage"
Optional: No (如果符合条件)
Agents: Validator
Type: string
- As Arg
- As Env
- As Config
--checkpointSyncer.path "/tmp/syncer"
export HYP_CHECKPOINTSYNCER_PATH="/tmp/syncer"
{
"checkpointsyncer": {
"type": "localStorage",
"path": "/tmp/syncer"
}
}
checkpointsyncer.bucket
说明: S3 存储名称
Requires: checkpointsyncer.type = "s3"
Optional: No (如果符合条件)
Agents: Validator
Type: string
- As Arg
- As Env
- As Config
--checkpointSyncer.bucket signatures-ethereum
export HYP_CHECKPOINTSYNCER_BUCKET="signatures-ethereum"
{
"checkpointsyncer": {
"type": "s3",
"bucket": "signatures-ethereum"
}
}
checkpointsyncer.region
说明: S3 存储地区
Requires: checkpointsyncer.type = "s3"
Optional: No (如果符合条件)
Agents: Validator
Type: string
- As Arg
- As Env
- As Config
--checkpointSyncer.region us-east-1
export HYP_CHECKPOINTSYNCER_REGION="us-east-1"
{
"checkpointsyncer": {
"type": "s3",
"region": "us-east-1"
}
}
interval
说明: 验证器检查新检查点的频率(以秒为单位)。另请参阅latencies。
Optional: No
Agents: Validator
Type: Numeric (string | number)
- As Arg
- As Env
- As Config
--interval 30
export HYP_INTERVAL=30
{
"interval": 30
}
db
说明: 这是代理在磁盘上存储相关数据的本地文件系统路径。每个代理的路径必须是唯一的! 多个代理必须有不同的路径。如果路径不是以系统定 义的根路径(如 unix 上的 /
)开始,则是相对于当前工作目录的路径。使用 docker 镜像时,请确保该文件夹在运行过程中得到持久保存。
对于 scraper,这是 postgresql 数据库的连接字符串。
Optional: 对于验证器和中继器来说,它是可选项,默认为当前工作目录中包含 originchainname
的路径。对于scraper则为必填项。
Agents: All
Type: string
- As Arg
- As Env
- As Config
# Validator
--db "/tmp/hyp/validator/ethereum-cache"
# Relayer
--db "/tmp/hyp/relayer/ethereum-cache"
# Scraper
--db "postgresql://postgres:password@localhost:5432/dbname"
# Validator
export HYP_DB="/tmp/hyp/validator/ethereum-cache"
# Relayer
export HYP_DB="/tmp/hyp/relayer/ethereum-cache"
# Scraper
export HYP_DB="postgresql://postgres:password@localhost:5432/dbname"
For the validator:
{
"db": "/tmp/hyp/validator/ethereum-cache"
}
For the relayer:
{
"db": "/tmp/hyp/relayer/ethereum-cache"
}
For the scraper:
{
"db": "postgresql://postgres:password@localhost:5432/dbname"
}
relaychains
说明: 在两个链之间传递信息的链列表。
Optional: No
Agents: Relayer
Type: string
(逗号分隔列表)
- As Arg
- As Env
- As Config
--relayChains "arbitrum,ethereum,bsc"
export HYP_RELAYCHAINS="arbitrum,ethereum,bsc"
{
"relaychains": "arbitrum,ethereum,bsc"
}
gaspaymentenforcement
说明: 以最高优先级为第一的 JSON 字符串化数组,其中包含燃料支付执行配置。最后一个策略应该是一个全捕获策略,处理任何未匹配到之前策略的消息。
Optional: 默认为不强制执行 ([{"type": "none"}]
)
Agents: Relayer
Type: JSON (string)
type gaspaymentenforcement = Array<GasPaymentEnforcementPolicy>;
type GasPaymentEnforcementPolicy =
( // 每种类型的特定字段...
// 无要求--无论是否支付燃气费,所有信息均得到处理
{ type: "none" }
// 将处理已支付最低金额的信息
& { type: "minimum", payment: U256 }
// 外链上所需的燃料费已按以下规定支付
// 到链上费用报价。`gasfraction` 默认为 "1 / 2"。
& { type: "onChainFeeQuoting", gasfraction?: GasFraction }
) | { // 所有类型都有以下字段...
// 如果有匹配的信息,就会使用该策略。
// 如果没有指定匹配列表,则所有信息都将匹配。
matchingList?: MatchingList
};
// 一组匹配规则。如果消息符合列表中的任何规则,则认为匹配。
// 元素与消息匹配。
type MatchingList = Array<MatchingListElement>;
// 如果提供的任何值匹配,则匹配消息。
interface MatchingListElement {
originDomain?: NumericFilter
senderAddress?: HashFilter
destinationDomain?: NumericFilter
recipientAddress?: HashFilter
}
type NumericFilter = Wildcard | U32 | Array<U32>;
type HashFilter = Wildcard | H256 | Array<H256>;
// 32-bit unsigned integer
type U32 = number | string;
// 256-bit unsigned integer; Note: `number` type has limited precision.
type U256 = string | number;
// 256-bit hash (can also be less) encoded as hex
type H256 = string;
// Matches anything
type Wildcard = "*";
// 一个形式为 `{分子} / {分母}` 的数字字符串,例如 "1 / 2"。
type GasFraction = string;
- As Arg
- As Env
- As Config
--gasPaymentEnforcement '[{"type": "none", "matchingList": [{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272"}]}, {"type": "minimum", "payment": 100000}]'
export HYP_GASPAYMENTENFORCEMENT='[{"type": "none", "matchingList": [{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272"}]}, {"type": "minimum", "payment": 100000}]'
{
"gaspaymentenforcement": "[{"type": "none", "matchingList": [{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272"}]}, {"type": "minimum", "payment": 100000}]"
}
whitelist
说明: 匹配列表,用于定义应允许哪些消息。任何不符合此列表的消息都不会被中继。如果未提供白名单,则将允许所有消息。
另请参阅 信息过滤
Optional: Yes
Agents: Relayer
Type: JSON (string)
// 匹配规则列表。如果消息与列表中的任何规则匹配,则视为匹配。
// 元素与消息匹配。
type MatchingList = Array<MatchingListElement>;
// 如果提供的任何值匹配,则匹配消息。
interface MatchingListElement {
originDomain?: NumericFilter
senderAddress?: HashFilter
destinationDomain?: NumericFilter
recipientAddress?: HashFilter
}
type NumericFilter = Wildcard | U32 | Array<U32>;
type HashFilter = Wildcard | H256 | Array<H256>;
// 32-bit unsigned integer
type U32 = number | string;
// 256-bit hash (can also be less) encoded as hex
type H256 = string;
// Matches anything
type Wildcard = "*";
- As Arg
- As Env
- As Config
--whitelist '[{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272", "originDomain": [1, 42]}, {"destinationDomain": 1}]'
export HYP_WHITELIST='[{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272", "originDomain": [1, 42]}, {"destinationDomain": 1}]'
{
"whitelist": "[{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272", "originDomain": [1, 42]}, {"destinationDomain": 1}]"
}
blacklist
说明: 一个匹配列表,用于定义应该被忽略的消息。与此列表匹配的任何消息都不会被中继。如果未提供黑名单,则将允许所有消息。
另请参阅 信息过滤
Optional: Yes
Agents: Relayer
Type: JSON (string)
type blacklist = MatchingList | undefined;
// 一个匹配规则列表。如果消息与列表中的任何规则匹配,则匹配。
// 元素与消息匹配。
type MatchingList = Array<MatchingListElement>;
// 如果提供的任何值匹配,则匹配消息。
interface MatchingListElement {
originDomain?: NumericFilter
senderAddress?: HashFilter
destinationDomain?: NumericFilter
recipientAddress?: HashFilter
}
type NumericFilter = Wildcard | U32 | Array<U32>;
type HashFilter = Wildcard | H256 | Array<H256>;
// 32-bit unsigned integer
type U32 = number | string;
// 256-bit hash (can also be less) encoded as hex
type H256 = string;
// Matches anything
type Wildcard = "*";
- As Arg
- As Env
- As Config
--blacklist '[{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272", "originDomain": [1, 42]}, {"destinationDomain": 1}]'
export HYP_BLACKLIST='[{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272", "originDomain": [1, 42]}, {"destinationDomain": 1}]'
{
"blacklist": "[{"senderAddress": "0xa441b15fe9a3cf56661190a0b93b9dec7d041272", "originDomain": [1, 42]}, {"destinationDomain": 1}]"
}
transactiongaslimit
说明: 中继交易的最大允许燃料。
Optional: 默认设置无限制
Agents: Relayer
Type: Numeric (string | number)
- As Arg
- As Env
- As Config
--transactionGasLimit 250000000
export HYP_TRANSACTIONGASLIMIT="250000000"
{
"transactiongaslimit": "250000000"
}
skiptransactiongaslimitfor
说明: 跳过应用 transactiongaslimit 的域 ID 列表。
Optional: 默认情况下,所有域都使用 "transactiongaslimit"。
Agents: Relayer
Type: string
(以逗号分隔的域 ID 列表)
- As Arg
- As Env
- As Config
--skipTransactionGasLimitFor "43114,10,42220"
export HYP_SKIPTRANSACTIONGASLIMITFOR="43114,10,42220"
{
"skiptransactiongaslimitfor": "43114,10,42220"
}
allowlocalcheckpointsyncers
说明: 是否允许本地 checkpointsyncer
类型,如果为 false
,则忽略它们。
Optional: 默认设置为 false
Agents: Relayer
Type: boolean
- As Arg
- As Env
- As Config
--allowLocalCheckpointSyncers false
export HYP_ALLOWLOCALCHECKPOINTSYNCERS=false
{
"allowlocalcheckpointsyncers": false
}
AWS_ACCESS_KEY_ID
说明: (仅限 Env)验证器的 AWS IAM 用户的访问密钥 ID。
Optional: 如果签名者配置中使用了 aws
则必须填写
Agents: Relayer & Validator
Type: string
- As Arg
- As Env
- As Config
Not supported as an argument
export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
Not supported in configuration files
AWS_SECRET_ACCESS_KEY
说明: (仅限 Env)验证器 AWS IAM 用户的秘密访问密钥。
Optional: 如果签名者配置中使用了 aws
则必须填写
Agents: Relayer & Validator
Type: string
- As Arg
- As Env
- As Config
Not supported as an argument
export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
Not supported in configuration files