跨链桥纪元更新
Gonka → 以太坊的转账使用当前 Gonka 纪元的 BLS 签名。以太坊跨链桥合约必须先获知当前纪元的群组密钥,才能验证该签名并在以太坊上释放资金。
每个纪元开始时(大约每天一次),Gonka 会生成一个新的群组密钥。通过一笔小额以太坊交易,将该密钥注册到跨链桥合约中。通常这一步骤已经完成,但在纪元切换后的短时间内,跨链桥可能会暂时落后于 Gonka 链。
何时需要此操作
如果您的 Gonka → 以太坊提现或 WGNK 铸造已准备就绪,但因跨链桥落后于链而导致以太坊端无法执行,您可能需要进行纪元更新。
在仪表板上,此情况可能表现为:
A Bridge needs epoch update
Bridge: Epoch 283 | Chain: Epoch 284 (1 behind)
Withdrawals to Ethereum require the bridge to be synced to the current epoch.
如果看到此提示,请在仪表板中点击 Update bridge。任何用户都可以提交更新。这是一笔普通的以太坊交易,因此点击按钮的钱包将为此次更新支付一次以太坊 Gas 费。
手动更新
如果不使用仪表板,请按顺序提交每个缺失的纪元:
- 检查以太坊跨链桥合约已知的最新纪元。
- 从
latest + 1开始。 - 获取纪元数据:
curl "https://node2.gonka.ai:8443/chain-api/productscience/inference/bls/epoch_data/<epochId>"
- 将返回的
group_public_key和validation_signature字段与跨链桥更新脚本一起使用:
HARDHAT_NETWORK=mainnet node submit-epoch-public.js \
0x972a7a92d92796a98801a8818bcf91f1648f2f68 \
<epochId> \
<group_public_key> \
<validation_signature>
- 重复此操作,直到跨链桥的纪元与链的纪元一致,补全所有缺失的纪元。
- 在以太坊上重试提现或 WGNK 铸造执行。
Note
跨链桥合约仅接受由前一个纪元密钥签名的下一个顺序纪元密钥。如果跨链桥落后超过一个纪元,请逐个提交缺失的纪元。