配置参考
CONFIG_FILES
描述:(仅限环境)要加载的额外配置文件路径列表,按顺序(例如在 hyperlane-monorepo/rust/main/config
中的文件)。这些文件将从第一个合并到最后一个,因此如果第一个和最后一个都指定了特定的配置路径,则将使用最后一个列出的文件中设置的值。
这些文件必须在您的代理可以访问的文件系统中可访问。如果您在 Docker 中运行,请参阅 代理配置指南 以获取将配置文件挂载到 Docker 容器中的提示。
可选: 是
代理: 所有
类型: string
(以逗号分隔的文件路径列表)
- 作为参数
- 作为环境
- As Config
不支持作为参数
export CONFIG_FILES='./config/ethereum/my-config.json,./config/ethereum/my-validator-config.json'
不支持在配置文件中
chains
描述: 每个链的配置,代理必须使用这些链。
可选: 否
代理: 所有
类型: Map<string, ChainSetup (Object)>
(请参见 chains.*
的 ChainSetup
值)
- 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
相同。
要求: 如果是已知域名,则与域 ID 对齐。
可选: 否
代理: 所有
类型: 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
描述: 超平面域 ID,用于唯一标识该域。另请参见:域标识符。
要求: 如果是已知域,则与域名对齐。
可选: 否
代理: 所有
类型: 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
描述: 链上邮箱合约的地址。另请参见 合约地址。
可选: 否
代理: 所有
类型: 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
描述: 链上跨链 Gas 支付主合同的地址。另请参见 合约地址。
可选: 否
代理: 所有
类型: 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
描述: 链上验证者公告合约的地址。另请参见 合约地址。
可选: 否
代理: 所有
类型: 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
描述: 链上默克尔树钩子合约的地址。另请参见 合约地址。
可选: 否
代理: 所有
类型: 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
描述: 应该在此链上使用的签名者
可选: 是(如果未指定,将使用 defaultsigner
)
代理: 所有
类型: 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 调用。
可选: 是;默认为 node
,除非指定了 key
,在这种情况下默认为 hexKey
代理: 所有
类型: Enum ("hexKey" | "aws" | "cosmosKey" | "node")
不同虚拟机的接受值:
- EVM:
hexKey
(ECDSA)或aws
(ECDSA) - sealevel:
hexKey
(ED25519) - cosmos:
cosmosKey
- As Arg
- As Env
- 作为配置
--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
描述: 一个十六进制密钥。私钥的十六进制字符串。
要求: chains.<chain_name>.signer.type = "hexKey" | undefined
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--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
要求: chains.<chain_name>.signer.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--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 区域
要求: chains.<chain_name>.signer.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--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
描述: 要使用的连接协议。
可选: 默认为 "ethereum"
代理: 所有
类型: Enum ("ethereum" | "fuel")
- 作为参数
- 作为环境
- 作为配置
--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 URL,则仅使用第一个。
描述: 如何与提供者通信
"single"
使用基本的 http 连接"fallback"
将尝试第一个 URL,然后在连接或其他提供者故障时自动"回退"到下一个提供者;这仅应重试由于提供者导致的调用失败,而不是调用本身的失败;例如, Gas 不足错误将不会回退。"quorum"
要求大多数 URL 同意,提交交易的例外情况;如果未指定,将自动协调"最新"区块以减少同步错误。
要求: chains.<chain_name>.protocol = "ethereum" | undefined
可选: 默认为 "fallback"
代理: 所有
类型: Enum ("fallback", "single", "quorum")
- 作为参数
- 作为环境
- 作为配置
--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 URL。如果指定了多个 RPC URL,则仅使用第一个。
描述: 用于连接提供者的以逗号分隔的 URL。customRpcUrls
和 rpcUrls 之间的区别在于,customRpcUrls
允许从 CLI 或环境变量中更友好的输入(以逗号分隔而不是数组)。
类型: string
(以逗号分隔的 URL 列表,无空格)
- 作为参数
- 作为环境
- 作为配置
--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_CUSTOMRPCURLS="http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
{
"chains": {
"ethereum": {
"customRpcUrls": "http://127.0.0.1:8545,http://127.0.0.1:8546"
}
}
}
chains.<chain_name>
.rpcUrls
与非 EVM 链的连接仅支持单个 RPC URL。如果指定了多个 RPC URL,则仅使用第一个。
描述: 用于连接提供者的 URL。第一个 URL 最初使用,如果失败,则尝试其他 URL。有关更多信息,请参见 rpcConsensusType。
要求:
(chains.`<chain_name>`.protocol = "ethereum" | undefined)
AND (chains.`<chain_name>`.connection.type = "fallback" | "quorum")
OR chains.`<chain_name>`.protocol = "cosmos" | "sealevel" | "fuel"
可选: 否(如果满足要求)
代理:
类型: string
- 作为参数
- 作为环境
- 作为配置
--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>
.customGrpcUrls
与 Cosmos 链的连接需要 RPC 和 gRPC URL。Cosmos 链没有 rpcConsensusType
配置,gRPC URL 始终在 回退模式 下运行——如果第一个 URL 失败,则使用下一个。
描述: 用于连接提供者的以逗号分隔的 gRPC URL。类似于 customRpcUrls
。
类型: string
(以逗号分隔的 URL 列表,无空格)
- 作为参数
- 作为环境
- 作为配置
--chains.${CHAIN_NAME}.customgrpcurls "$CONNECTION_URLS"
--chains.cosmos.customgrpcurls "http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
export HYP_CHAINS_${CHAIN_NAME}_CUSTOMGRPCURLS="$CONNECTION_URLS"
export HYP_CHAINS_COSMOS_CUSTOMGRPCURLS="http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
{
"chains": {
"cosmos": {
"customRpcUrls": "<connection_urls>",
"customGrpcUrls": "http://127.0.0.1:8545,http://127.0.0.1:8546,http://127.0.0.1:8547"
}
}
}
chains.<chain_name>
.index.from
描述: 开始索引合约的高度。
可选: 默认为 0
代理: 中继器和抓取器
类型: Numeric (string | number)
- 作为参数
- 作为环境
- 作为配置
--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
描述: 在索引合约时一次查询的区块数量。请注意,配置的提供者必须支持所设置的任何值。默认值应适用于几乎所有提供者。
可选: 默认为 1999
代理: 中继器和抓取器
类型: Numeric (string | number)
- 作为参数
- 作为环境
- 作为配置
--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
由于每个虚拟机支持不同的签名者类型,默认签名者只能支持单个虚拟机类型。例如,如果默认签名者是 ECDSA,则只能在 EVM 链上签名。
描述: 应该用于所有未指定其自己的链的默认签名者。
可选: 是
代理: 所有
类型: SignerConf (Object)
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.*
export HYP_DEFAULTSIGNER_*="...."
{
"defaultsigner": {}
}
defaultsigner.type
描述: 定义的签名者类型。HexKey
签名者使用私钥,Aws
签名者使用基于 AWS 的 KMS,Node
假定本地节点将签署 RPC 调用。
可选: 是;默认为 node
,除非指定了 key
,在这种情况下默认为 hexKey
代理: 所有
类型: Enum ("hexKey" | "aws" | "cosmosKey" | "node")
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.type hexKey
export HYP_DEFAULTSIGNER_TYPE="hexKey"
{
"defaultsigner": {
"type": "hexKey"
}
}
defaultsigner.key
描述: 一个十六进制密钥。私钥的十六进制字符串。
要求: defaultsigner.type = "hexKey" | undefined
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.key "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
export HYP_DEFAULTSIGNER_KEY="8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
{
"defaultsigner": {
"type": "hexKey",
"key": "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
}
}
defaultsigner.id
描述: 标识 AWS KMS 密钥的 UUID
要求: defaultsigner.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--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 区域
要求: defaultsigner.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.region us-east-1
export HYP_DEFAULTSIGNER_REGION="us-east-1"
{
"defaultsigner": {
"type": "aws",
"region": "us-east-1"
}
}
defaultsigner.type
描述: 定义的签名者类型。HexKey
签名者使用私钥,Aws
签名者使用基于 AWS 的 KMS,Node
假定本地节点将签署 RPC 调用。
可选: 是;默认为 node
,除非指定了 key
,在这种情况下默认为 hexKey
代理: 所有
类型: Enum ("hexKey" | "aws" | "cosmosKey" | "node")
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.type hexKey
export HYP_DEFAULTSIGNER_TYPE="hexKey"
{
"defaultsigner": {
"type": "hexKey"
}
}
defaultsigner.key
描述: 一个十六进制密钥。私钥的十六进制字符串。
要求: defaultsigner.type = "hexKey" | undefined
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.key "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
export HYP_DEFAULTSIGNER_KEY="8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
{
"defaultsigner": {
"type": "hexKey",
"key": "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
}
}
defaultsigner.id
描述: 标识 AWS KMS 密钥的 UUID
要求: defaultsigner.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--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 区域
要求: defaultsigner.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--defaultSigner.region us-east-1
export HYP_DEFAULTSIGNER_REGION="us-east-1"
{
"defaultsigner": {
"type": "aws",
"region": "us-east-1"
}
}
metricsport
描述: 用于暴露 prometheus 指标的端口
可选: 默认为 9090
代理: 所有
类型: Numeric (string | number)
- 作为参数
- 作为环境
- 作为配置
--metrics-port 9090
export HYP_METRICSPORT=9090
{
"metrics": 9090
}
log.format
描述: 日志模块的配置。这控制日志记录。
可选: 默认为 pretty
代理: 所有
类型: Enum ("pretty" | "json" | "full" | "compact")
- 作为参数
- 作为环境
- 作为配置
--log.format pretty
export HYP_LOG_FORMAT="pretty"
{
"log": {
"format": "pretty"
}
}
log.level
描述: 日志模块的配置。这控制日志记录。要获得完整的详细信息(包括依赖项的详细信息),请使用 dependencyTrace
。
可选: 默认为 info
代理: 所有
类型: Enum ("dependencyTrace" | "trace" | "debug" | "info" | "warn" | "error" | "off")
- 作为参数
- 作为环境
- 作为配置
--log.level info
export HYP_LOG_LEVEL="info"
{
"log": {
"level": "info"
}
}
originchainname
描述: 验证者应验证的链的名称,以及中继器应从中继送消息的链的名称。已弃用用于中继器,请改用 #relaychains 。
可选: 否 - 验证者;是 - 中继器
代理: 验证者和中继器
类型: string
- 作为参数
- 作为环境
- 作为配置
--originChainName ethereum
export HYP_ORIGINCHAINNAME="ethereum"
{
"originchainname": "ethereum"
}
validator
描述: 验证者应使用的签名者。
可选: 是
代理: 所有
类型: SignerConf (Object)
- 作为参数
- 作为环境
- 作为配置
--validator.*
export HYP_VALIDATOR_*="...."
{
"validator": {}
}
validator.type
描述: 定义的 EVM 签名者类型。请注意,无论验证者操作在哪个虚拟机上,检查点始终使用 EVM ECDSA 曲线签名。HexKey
签名者使用私钥,Aws
签名者使用基于 AWS 的 KMS,Node
假定 本地节点将签署 RPC 调用。
可选: 是;默认为 node
,除非指定了 key
,在这种情况下默认为 hexKey
代理: 所有
类型: Enum ("hexKey" | "aws" | "node")
- 作为参数
- 作为环境
- 作为配置
--validator.type hexKey
export HYP_VALIDATOR_TYPE="hexKey"
{
"validator": {
"type": "hexKey"
}
}
validator.key
描述: 一个十六进制密钥。私钥的十六进制字符串。
要求: validator.type = "hexKey" | undefined
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--validator.key 8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61
export HYP_VALIDATOR_KEY="8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
{
"validator": {
"type": "hexKey",
"key": "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61"
}
}
validator.id
描述: 标识 AWS KMS 密钥的 UUID
要求: validator.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--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 区域
要求: validator.type = "aws"
可选: 否(如果满足要求)
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
--validator.region us-east-1
export HYP_VALIDATOR_REGION="us-east-1"
{
"validator": {
"type": "aws",
"region": "us-east-1"
}
}
checkpointsyncer.type
描述: 定义同步检查点的方法
可选: 否
代理: 验证者
类型: Enum ("localStorage" | "s3")
- 作为参数
- 作为环境
- 作为配置
--checkpointSyncer.type localStorage
export HYP_CHECKPOINTSYNCER_TYPE="localStorage"
{
"checkpointsyncer": {
"type": "localStorage"
}
}
checkpointsyncer.path
描述: 本地存储类型检查点同步器配置的本地磁盘路径。
要求: checkpointsyncer.type = "localStorage"
可选: 否(如果满足条件)
代理: 验证者
类型: string
- 作为参数
- 作为环境
- 作为配置
--checkpointSyncer.path "/tmp/syncer"
export HYP_CHECKPOINTSYNCER_PATH="/tmp/syncer"
{
"checkpointsyncer": {
"type": "localStorage",
"path": "/tmp/syncer"
}
}
checkpointsyncer.bucket
描述: S3 存储桶名称
要求: checkpointsyncer.type = "s3"
可选: 否(如果满足条件)
代理: 验证者
类型: string
- 作为参数
- 作为环境
- 作为配置
--checkpointSyncer.bucket signatures-ethereum
export HYP_CHECKPOINTSYNCER_BUCKET="signatures-ethereum"
{
"checkpointsyncer": {
"type": "s3",
"bucket": "signatures-ethereum"
}
}
checkpointsyncer.folder
描述: S3 存储桶中的文件夹
要求: checkpointsyncer.type = "s3"
可选: 否(如果满足条件)
代理: 验证者
类型: string
- 作为参数
- 作为环境
- 作为配置
--checkpointSyncer.folder signatures-ethereum
export HYP_CHECKPOINTSYNCER_FOLDER="signatures-ethereum"
{
"checkpointsyncer": {
"type": "s3",
"folder": "signatures-ethereum"
}
}
checkpointsyncer.region
描述: S3 存储桶区域
要求: checkpointsyncer.type = "s3"
可选: 否(如果满足条件)
代理: 验证者
类型: string
- 作为参数
- 作为环境
- 作为配置
--checkpointSyncer.region us-east-1
export HYP_CHECKPOINTSYNCER_REGION="us-east-1"
{
"checkpointsyncer": {
"type": "s3",
"region": "us-east-1"
}
}
interval
描述: 验证者检查新检查点的频率(以秒为单位)。另请参见 延迟。
可选: 否
代理: 验证者
类型: Numeric (string | number)
- 作为参数
- 作为环境
- 作为配置
--interval 30
export HYP_INTERVAL=30
{
"interval": 30
}
db
描述: 这是代理在磁盘上存储相关数据的本地文件系统路径。每个代理必须唯一! 多个代理必须具有不同的路径。如果路径不以系统定义的根路径(例如 Unix 上的 /
)开头,则该路径相对于当前工作目录。当使用 Docker 镜像时,请确保该文件夹在运行之间得以持久化。
对于抓取器,这是连接到 PostgreSQL 数据库的连接字符串。
可选: 对于验证者和中继器,它是可选的,默认为当前工作目录中包含 originchainname
的路径。对于抓取器,它是必需的。
代理: 所有
类型: string
- 作为参数
- 作为环境
- 作为配置
# 验证者
--db "/tmp/hyp/validator/ethereum-cache"
# 中继器
--db "/tmp/hyp/relayer/ethereum-cache"
# 抓取器
--db "postgresql://postgres:password@localhost:5432/dbname"
# 验证者
export HYP_DB="/tmp/hyp/validator/ethereum-cache"
# 中继器
export HYP_DB="/tmp/hyp/relayer/ethereum-cache"
# 抓取器
export HYP_DB="postgresql://postgres:password@localhost:5432/dbname"
对于验证者:
{
"db": "/tmp/hyp/validator/ethereum-cache"
}
对于中继器:
{
"db": "/tmp/hyp/relayer/ethereum-cache"
}
对于抓取器:
{
"db": "postgresql://postgres:password@localhost:5432/dbname"
}
relaychains
描述: 要在其之间传递消息的链的列表。
可选: 否
代理: 中继器
类型: string
(以逗号分隔的列表)
- 作为参数
- 作为环境
- 作为配置
--relayChains "arbitrum,ethereum,bsc"
export HYP_RELAYCHAINS="arbitrum,ethereum,bsc"
{
"relaychains": "arbitrum,ethereum,bsc"
}
gaspaymentenforcement
描述: 按优先级排序的 Gas 支付强制配置的 JSON 字符串化数组。最后一个策略应为捕获所有策略,处理未匹配到先前策略的任何消息。
可选: 默认为不强制执行([{"type": "none"}]
)
代理: 中继器
类型: JSON (string)
type gaspaymentenforcement = Array<GasPaymentEnforcementPolicy>;
type GasPaymentEnforcementPolicy =
| // fields specific to each type...
// No requirements - all messages are processed regardless of gas payment
({
type: "none";
} & {
// Messages that have paid a minimum amount will be processed
type: "minimum";
payment: U256;
} & { type: "onChainFeeQuoting"; gasfraction?: GasFraction }) // to on-chain fee quoting. `gasfraction` defaults to "1 / 2". // Required amount of gas on the foreign chain has been paid according
| {
// all types have the following fields...
// If a message matches, this policy will be used.
// If no matching list is specified, all messages will match.
matchingList?: MatchingList;
};
// A list of matching rules. A message matches if any of the list
// elements matches the message.
type MatchingList = Array<MatchingListElement>;
// Matches a message if any of the provided values matches.
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 = "*";
// A numeric string in the form `{numerator} / {denominator}`, e.g. "1 / 2"
type GasFraction = string;
- 作为参数
- 作为环境
- 作为配置
--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
描述: 定义应允许哪些消息的匹配列表。任何不匹配此列表的消息将不会被中继。如果未提供白名单,则所有消息都将被允许。
另请参见 消息过滤
可选: 是
代理: 中继器
类型: JSON (string)
// A list of matching rules. A message matches if any of the list
// elements matches the message.
type MatchingList = Array<MatchingListElement>;
// Matches a message if any of the provided values matches.
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 = "*";
- 作为参数
- 作为环境
- 作为配置
--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
描述: 定义应忽略哪些消息的匹配列表。任何与此列表匹配的消息将不会被中继。如果未提供黑名单,则所有消息都将被允许。
另请参见 消息过滤
可选: 是
代理: 中继器
类型: JSON (string)
type blacklist = MatchingList | undefined;
// A list of matching rules. A message matches if any of the list
// elements matches the message.
type MatchingList = Array<MatchingListElement>;
// Matches a message if any of the provided values matches.
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 = "*";
- 作为参数
- 作为环境
- 作为配置
--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
描述: 中继交易的最大允许 Gas 。
可选: 默认为没有限制
代理: 中继器
类型: Numeric (string | number)
- 作为参数
- 作为环境
- 作为配置
--transactionGasLimit 250000000
export HYP_TRANSACTIONGASLIMIT="250000000"
{
"transactiongaslimit": "250000000"
}
skiptransactiongaslimitfor
描述: 要跳过应用 transactiongaslimit
的域 ID 列表。
可选: 默认为对所有域使用 transactiongaslimit
代理: 中继器
类型: string
(以逗号分隔的域 ID 列表)
- 作为参数
- 作为环境
- 作为配置
--skipTransactionGasLimitFor "43114,10,42220"
export HYP_SKIPTRANSACTIONGASLIMITFOR="43114,10,42220"
{
"skiptransactiongaslimitfor": "43114,10,42220"
}
allowlocalcheckpointsyncers
描述: 是否允许本地 checkpointsyncer
类型,如果为 false
,则将忽略它们。
可选: 默认为 false
代理: 中继器
类型: boolean
- 作为参数
- 作为环境
- 作为配置
--allowLocalCheckpointSyncers false
export HYP_ALLOWLOCALCHECKPOINTSYNCERS=false
{
"allowlocalcheckpointsyncers": false
}
AWS_ACCESS_KEY_ID
描述:(仅限环境)验证者的 AWS IAM 用户的访问密钥 ID。
可选: 如果任何签名者配置使用 aws
,则为必需
代理: 中继器和验证者
类型: string
- 作为参数
- 作为环境
- 作为配置
不支持作为参数
export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
不支持在配置文件中
AWS_SECRET_ACCESS_KEY
描述:(仅限环境)验证者的 AWS IAM 用户的秘密访问密钥。
可选: 如果任何签名者配置使用 aws
,则为必需
代理: 中继器和验证者
类型: string
- 作为参数
- 作为环境
- 作为配置
不支持作为参数
export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
不支持在配置文件中