使用区块链 Layer2 网络的自然而然会有一个步骤是提取资金。在 Layer1 网络中,这个概念通常通过交易所或跨链桥的方式存在。

在 Godwoken 中,把你的资金取出来的最基本方法是使用内置的提现机制。

由于 Godwoken(Optimistic Rollup 架构)的性质,这是一个缓慢的过程。从开始提款的过程到 Layer1 实际收到资金,你需要等待 5 天。当然这是出于安全考虑。强制等待时间被称为“挑战”期,它给了网络运营者检查和挑战恶意交易的时间。

注1: Optimistic Rollup 安全假设是网络中至少有一个诚实节点。 注2:未来可能存在其他解决方案,允许更快地提取资产。

任务说明

在本任务中,您将使用 Godwoken 的 Godwoken Examples Tools Package 来运行“取款(Withdraw)”命令。它将启动取款的程序。

在你执行“取款”命令后,你需要等待 5 天,你的资金才可以“解锁(Unlocked )”。具体操作请参见独立的教程。

以上是由于 Optimstic Rollup 的本质。一个较长的所谓的“挑战”周期允许网络中的节点提交挑战,并在出现问题时回滚恶意交易。

在请求提取资金到能够实际解锁之间的这段时间内,必须确保网络中的交易是有效的,并且确保您是提取的资产的真正所有者。

提取条件

在开始这个任务之前,您必须完成在 EVM Layer 2 Testnet 上创建 Godwoken 帐户的首要任务。您还需要在第一个任务中的私钥和测试网地址,以便继续进行。如果您还没有完成,请现在先完成它。

你可以在这里找到 Godwoken Examples Tools Package 的安装说明。

1. 执行 Withdraw 取款命令

假设您已经满足了先决条件并创建了帐户,您将能使用 Godwoken 范例工具包执行“withdraw”命令。它将启动一个取款程序。

cd godwoken-examples
node ./packages/tools/lib/account-cli.js withdraw -r <INSERT_TESTNET_RPC_URL> -p <YOUR_ETHEREUM_PRIVATE_KEY> -o <YOUR_LAYER1_ADDRESS> -c <SHANNONS_AMOUNT>
  1. <INSERT_TESTNET_RPC_URL> :您会用到的 CKB 测试网节点的 RPC URL。你可以设置你本地的测试网节点,或者你可以使用任何公共的节点。

    本地测试网 CKB 节点链接:http://127.0.0.1:8114

    公共测试网 CKB 节点链接:http://3.235.223.161:18114

  2. <YOUR_ETHEREUM_PRIVATE_KEY> :这是您 Layer 2 账户的以太坊私钥,其中包含之前存入的CKBytes。始终确保您私钥的前缀为「0x」。

  3. <YOUR_LAYER_1_ADDRESS> :这是您在 Nervos CKB Layer 1 的地址,将用于从 Layer 2 接收资金。如果您使用ckb-cli 生成您的帐户,您可以使用 account list 命令查看它们。

  4. <SHANNONS_AMOUNT> :要转账的 CKBytes 的数量,以 Shannons 为单位。Shannons 是Nervos 中的一个度量单位,相当于比特币中的聪。我们建议存储 400 CKBytes,这是 Godwoken 所需的最小数量。一个 CKBye 中 100,000,000 Shannons ,这个值必须用 Shannons 表示。例如:400 * 100,000,000 = 40,000,000,000