在区块链之间移动资产是未来构建跨链 dApp 的一个极其重要的部分。开发人员不仅需要在安全的基础设施上来构建 dApp ,而且最终用户的体验必须简单明了。
Nervos 的跨链互操作性 2.0 解决方案是实现这些目标的主要步骤。在此基础上是 Force Bridge 这个去中心化的跨链桥,可以在 Nervos 和其他区块链之间转移资产。Force Bridge 目前处于最后的测试阶段了,已经支持将通证在 CKB 和 以太坊 Rinkeby 测试网之间转移。 Cardano 的跨链桥也已宣布,并处于开发的后期阶段。在可预见的未来 ForceBridge 将会支持更多的区块链,继续强化 Force Bridge 的跨链网络。
注意:在开始任务之前,建议您检查任务提交部分,这样您就知道您需要提供哪些材料给裁判,以审查您的任务提交。
在这个任务中,你将使用 Force Bridge 从以太坊 Rinkeby 测试网将 ETH 转到 Nervos Layer 2 上变成 ckETH。ETH 是以太坊上的原生资产,它在 Nervos 上使用 ckETH 来表示他是一个包装过的 sudt 通证。ckETH SUDT 通证是 Nervos 上的原生资产,它可以在 Layer1 和 Layer2 之间使用,并且得到Nervos 生态系统内所有工具的广泛支持。
为了做到这一点,我们将使用 MetaMask 和 Force Bridge 将 ETH 从 Rinkeby 测试网直接传输到Nervos 的 Layer 2。在你操作的背后,资产将从以太坊经过 Force Bridge,再到 Nervos Layer 1,最后到 Nervos Layer 2,但从终端用户的角度来看,这一切都将在一个步骤中完成。
此任务需要在任务2中设置的 Gitcoin Task Instruction Examples (gw-gitcoin-instruction)仓库。如果还没有这个仓库,请你现在设置它。
打开 MetaMask 并选择你想要用于 Force Bridge 转账的以太坊账户。这个账户也该是你在 Nervos 的 Layer2 使用的以太坊账户。然后从“Network”下拉框中选择“Rinkeby测试网络”。
你需要从Rinkeby 的水龙头中获得一些测试网中的 ETH。你可以使用 Rinkeby Authenticated Faucet或 Rinkeby Ether Faucet 获得少量的测试网资金。
Nervos 独特的架构允许我们能够为单一帐户基于不同的目的而创建的多个地址。但在此我们将只会使用其中一个地址,以便于简化 token 移动到 Layer2 的过程。
我们之前提到的从以太坊到 ForceBridge 桥到 Nervos Layer 1 ,再到 Nervos Layer 2的流程仍在进行开发中,但最终用户可以将这些步骤合并为单个操作。我们将介绍开发过程的步骤,从计算用户的Layer2 存款接收地址开始。
在你选择的编辑器中打开 gw-gitcoin-instruction/src/examples/6-bridge/index.js 中的范例代码。
将 <YOUR_ETHEREUM_ADDRESS>
替换为您希望接收 Layer2 上的 ckETH token 的以太坊地址。
替换所有值后,在控制台中使用以下命令执行脚本。
当你把你的地址放在代码运行: