

Nervos x Gitcoin bounty 任务10: 在 Layer1 解锁资金来完成解锁程序
source link: https://learnblockchain.cn/article/3020
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Nervos x Gitcoin bounty 任务10: 在 Layer1 解锁资金来完成解锁程序
在 Godwoken 取款有两个步骤。第一部分是初始提现,第二部分是解锁资金。5 天挑战期过后才能解锁资金。这给了 Layer2 网络运营商一个检查和挑战恶意交易的时间。
在 Godwoken 取款有两个步骤。第一部分是初始提现,第二部分是解锁资金。5 天挑战期过后才能解锁资金。这给了 Layer2 网络运营商一个检查和挑战恶意交易的时间。
注1: Optimistic Rollup 的安全假设是网络中至少有一个诚实节点。
注2: 未来可能存在其他解决方案,允许更快地取款。
在本任务中,您将使用 Godwoken Godwoken Examples Tools Package 的仓库来运行 “解锁(unlock)”命令。它将完成从 Nervos 的 Layer2 取款的过程。记住,您只能解锁您之前已经申请提取(Withdraw)的资金。
在您开始这个任务之前,您必须完成启动取款(Withdraw)任务并等待五天。
你可以在这里找到 Godwoken 范例工具包( Godwoken Examples Tools Package )的安装说明。
1. 执行取款命令
假设您已经满足了前提条件,并创建了帐户,您将要使用 Godwoken 范例工具包来执行“解锁”命令。
cd godwoken-examples
node ./packages/tools/lib/account-cli.js unlock -p <YOUR_LAYER_1_PRIVATE_KEY> -r <INSERT_TESTNET_RPC_URL> -i <INSERT_TESTNET_INDEXER_URL>
注意:您传递给“解锁”命令的私钥需要与之前与“取款”和“存款”一起使用的 Layer 1 地址对应的私钥相同。
<YOUR_LAYER_1_PRIVATE_KEY>
:这是 Layer 1 账户的私钥,资金将被解锁并释放到该账户。始终确保您私钥的前缀为「0x」。<INSERT_TESTNET_RPC_URL>
:您会用到的 CKB 测试网节点的 RPC URL。你可以设置你本地的测试网节点,或者你可以使用任何公共的节点。
本地测试网 CKB 节点链接:http://127.0.0.1:8114
公共测试网 CKB 节点链接:http://3.235.223.161:18114<INSERT_INDEXER_RPC_URL>
:您将使用的测试网 CKB 索引器的 RPC URL。如果您使用的是本地索引器,这应该是您的本地地址;如果您使用的是公共索引器,这也可以是公共地址。
本地测试网 CKB 索引器链接:http://127.0.0.1:8116
公共测试网 CKB 索引器链接:http://3.235.223.161:18116
范例:填入含有所有变数的最终命令
cd godwoken-examples
node ./packages/tools/lib/account-cli.js unlock -p 0x79682c20bbcaf7fcf18eb0c69b133c872227ceb88971090e7f2242c80cd54d18 -r <http://3.235.223.161:18114> -i <http://3.235.223.161:18116>
注意:你传递来发起解锁命令的私钥必须要和你之前存款以及取款的私钥相同
- 成功的输出范例如下
LUMOS_CONFIG_NAME: AGGRON4 Indexer is syncing. Please wait... Indexer synchronized. rollup_type_hash: 0x4cc2e6526204ae6a2e8fcf12f7ad472f41a1606d5b9624beebd215d780809f6a CKB address: ckt1qyq9u5vzgtklnqrr6cevra7w2utrsxmjgefs72sfju last_finalized_block_number 14813n [DEBUG]: withdrawalCell: { ... } withdrawal_block_number 14426n { last_finalized_block_number: 14813n } [INFO] found 1 withdrawal cells, only process first one withdrawal_witness: 0x0000000004000000 txHash: 0x2ddf5ecf16ed561231c75292e3a80e1aaa432a11f4d815ffe4e2e9d468c90673 current tx status: pending, ... waiting for 0 seconds pending ... current tx status: pending, ... waiting for 14 seconds pending current tx status: proposed, ... waiting for 15 seconds proposed ... current tx status: proposed, ... waiting for 19 seconds proposed tx 0x2ddf5ecf16ed561231c75292e3a80e1aaa432a11f4d815ffe4e2e9d468c90673 committed!
如果你看到交易已经被提交的信息,例如 "tx xyz committed!",那恭喜你 👏你已经成功的从 Nervos 的 Layer2 Godwoken 取款。现在你的资金已经在 Nervos 的 Layer1 供你使用了。如果你想的话随时都可以将他们再存到 Layer2 上面去。
潜在的可能错误
如果你看到 [INFO]: withdrawal cell not finalized
这代表你在申请取款后至今还不到五天。你可以比对一下 "last_finalized_block_number" 和 "withdrawal_block_number"看看你还需要等待多少区块。前者一定需要多于后者才行。这两个区块高度的值你都可以在控制台的输出看到,例如:
withdrawal_block_number 1210n { last_finalized_block_number: 1197n }
如果你只有看到 [ERROR]: No valid withdrawal cell found
的信息,那代表你没有发起取款。如果你真的运行了取款命令,那请确认你传送的是正确的 Layer1 地址。
如果你看见 TransactionFailedToResolve: Resolve failed Dead(OutPoint...
请试着再执行命令一次。这是由于 cell 竞争的关系,但是他最终会成功的。
任务提交
要完成这个任务,你必须要提交下列素材让评审检查:
- 在你运行“unlock”命令随后控制台的屏幕截图。
- 你在 Layer2 账户上使用的 Ethereum 地址。
- 与传递“Unlock”命令的私钥相关联的 Nervos Layer1 地址。 这能以“ ckb address” 的样子在控制台的输出中找到。
注意:你必须等待满五天的挑战期才能完成这个任务。如果你提交了不完整的取款截图,你的提交将被评委驳回。
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。
Recommend
-
8
Nervos x Gitcoin bounty 任务1: 在 EVM 兼容的 Layer2 测试网上创建一个 Godwoken 账户 Nervos...
-
5
Nervos x Gitcoin bounty 任务0: 设置测试网上的 CKB 节点和 CKB 索引器Nervos x Gitcoin bounty 任务0: 设置测试网上的 CKB 节点和 CKB 索引器 ...
-
4
Nervos x Gitcoin bounty 任务2: 在 Polyjuice 上部署一个简易的以太坊智能合约 在 Nervos 的 EVM...
-
8
Nervos x Gitcoin bounty : 任务设置与要求 任务要求...
-
6
Nervos x Gitcoin bounty 任务3:发起一个智能合约呼叫来部署智能合约 在本任务中,我们将学习如何...
-
4
Nervos x Gitcoin bounty 任务4:在 Layer1 发行一个 sUDT token,然后将他存到 Layer2 上面 在本任务中...
-
10
Nervos x Gitcoin bounty 任务7:将一个既有以太坊 dApp 引入 Polyjuice 上Nervos x Gitcoin bounty 任务7:将一个既有以太坊 dApp 引入 Polyjuice 上 ...
-
9
Nervos x Gitcoin bounty 任务5:给已经存到 Layer2 的 sUDT部署一个 ERC20 的代理合约Nervos x Gitcoin bounty 任务5:给已经存到 Layer2 的 sUDT部署一个 ERC20 的代理合约...
-
5
Nervos x Gitcoin bounty 任务6:通过 Force Bridge 将 token 从以太坊存到 PolyjuiceNervos x Gitcoin bounty 任务6:通过 Force Bridge 将 token 从以太坊存到 Polyjuice...
-
5
Nervos x Gitcoin bounty 任务8: 修改移植的 dApp,使之支持透过 Force Bridge 来的以太坊资产 大...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK