Warning
始终先进行小额测试交易。桥接转账是不可逆的,因此在转移大额资金前,先发送少量资金并确认其按预期到达。
由 Gonka 共识控制的专用桥接智能合约已在以太坊上激活,地址为:
0x972a7a92d92796a98801a8818bcf91f1648f2f68
地址与密钥
这是在桥接前必须理解的最重要页面。首次转账前请仔细阅读。
一个密钥,两个地址
以太坊和 Gonka 都使用同一种加密密钥(secp256k1 密钥对)。因此,单个私钥可以控制两条链上的账户。两条链的区别仅在于如何将公钥转换为人类可读的地址:
| 链 | 地址格式 | 地址如何从公钥推导 |
|---|---|---|
| 以太坊 | 0x...(20 字节,十六进制) |
keccak256(uncompressed_public_key) → 最后 20 字节 |
| Gonka | gonka1...(bech32) |
ripemd160(sha256(compressed_public_key)) → 带 gonka 前缀的 bech32 |
因此,单个私钥会产生两个外观不同的地址——一个 0x… 和一个 gonka1…——但两者均由同一密钥控制。
桥接如何决定你的代币去向
当你将代币从以太坊桥接到 Gonka 时,你将它们发送到桥接合约,并使用你的以太坊私钥签署该以太坊交易。Gonka 桥接会:
- 检测以太坊上已完成的存款交易。
- 从你的交易签名中恢复公钥。
- 计算该公钥的Gonka 地址(如上所述的
gonka1…标准推导)。 - 将桥接代币铸造/释放到该
gonka1…地址。
换句话说:包装代币将被发送到由与签署以太坊存款相同的公钥生成的 Gonka 地址——且由同一私钥控制。 要花费这些代币,你必须在 Gonka 上使用相同的密钥。
反向操作则相反:桥接回以太坊时,你必须在提现交易中显式指定目标地址;而桥接到 Gonka 时,你无法选择接收方——接收方由你的密钥固定。
助记词陷阱(请阅读!)
大多数用户从未见过原始私钥——他们只有助记词(助记短语),并让钱包为他们推导密钥。这很方便,但会为桥接制造陷阱。无论是 12 词还是 24 词助记词,都可以推导出许多私钥;助记词长度并不决定桥接接收方。
助记词不对应单个密钥。钱包使用BIP-44 推导路径推导账户密钥。例如:
- 一个常见的以太坊账户使用币种类型60 → 路径
m/44'/60'/0'/0/0。 - Gonka 使用币种类型1200 → 路径
m/44'/1200'/0'/0/0(这是链的默认路径,被inferencedCLI 使用)。
当路径不同时,相同的助记词会在以太坊和 Gonka 上生成不同的私钥——从而产生不相关的地址。如果你从助记词推导的以太坊账户存款,然后查看同一助记词沿另一路径推导出的 Gonka 账户,它们并非同一密钥。桥接的代币将被发送到由以太坊账户密钥控制的 gonka1… 地址,而你的 Gonka 钱包可能并未显示该地址。
Danger
请不要假设“相同助记词 = 两条链上相同账户”。对于桥接,你需要的是两条链上的相同私钥,而非相同的助记词。如果钱包推导出不同的密钥,桥接会将你的资金发送到由你的以太坊密钥控制的 Gonka 地址,即使你当前的 Gonka 钱包未显示该地址。
如何获取匹配的 Gonka 地址
你有两个选择。
选项 A — 使用仪表板(推荐)
Gonka 仪表板为你自动处理推导。连接你用于桥接的同一个以太坊钱包,仪表板将推导并显示桥接将使用的正确 gonka1… 地址,显示你的包装余额,并引导存款/提现流程。这避免了你自己处理原始私钥,并消除了上述助记词混淆问题。
在以下地址打开仪表板:
https://node1.gonka.ai:8443/dashboard/
选项 B — 将相同的私钥导入 Gonka 钱包
如果你使用 CLI,将控制你以太坊账户的完全相同的 secp256k1 私钥(十六进制)导入 Gonka 钱包。生成的 gonka1… 地址就是桥接铸造代币的目标地址:
inferenced keys import-hex <key_name> <YOUR_PRIVATE_KEY_HEX>
# Show the derived Gonka address
inferenced keys show <key_name> -a
此处打印的地址正是接收您跨链代币的 gonka1… 地址,且该密钥可为此地址签署 Gonka 交易(转账、提现)。
Warning
导入原始私钥会将其暴露在您导入的机器和密钥环上。建议在安全的机器上使用基于文件的密钥环(--keyring-backend file),切勿将同时保管重要以太坊资金的私钥粘贴到不可信主机上。如有疑问,请使用仪表板。
已跨链,但看不到资产?
如果跨链交易已完成,但资产未出现在您常用的 Gonka 钱包中,且您拥有以太坊钱包的12词或24词恢复短语(但没有其账户私钥),您可以使用 MetaMask 推导并导出该密钥。原始以太坊钱包不必是 MetaMask;此方法仅在 MetaMask 显示相同的发送 0x… 地址时有效。
- 查找以太坊交易的发送方地址。在 Gonka 跨链交易记录 中,确认
BRIDGE_COMPLETED并记录完整的ownerAddress(gonka1…)。如果与您常用的 Gonka 地址匹配,请检查余额或代币显示。如果记录仍处于待处理状态,则此流程无法完成转账。 - 将恢复短语导入 MetaMask。MetaMask 可能会显示同一短语生成的多个以太坊账户。找到完整
0x…地址与发送方匹配的账户;如果未列出,请遵循 MetaMask 的缺失账户指南。如果没有任何账户匹配,则导入到 MetaMask 的短语未恢复发送账户,因此不要从其他账户导出密钥。 - 从匹配的 MetaMask 账户中,导出其私钥。恢复短语本身并非账户的私钥。
- 将该私钥导入 Keplr,添加或选择 Gonka,并将完整的 Gonka 地址与
ownerAddress进行比对。当它们匹配时,此账户即可访问跨链资产。
快速检查清单
- 在开始之前,请先确定您将使用哪个密钥进行跨链。
- 如果您已在以太坊地址上拥有 USDT/ETH:从该密钥推导出对应的
gonka1…地址(仪表板或import-hex)。 - 如果您想使用现有的 Gonka 地址:从该密钥推导出对应的
0x…以太坊地址,并为其充值所需代币及足够的 ETH 作为手续费。 - 始终先发送小额测试金额,并确认其到达预期的
gonka1…地址。