本页描述了参与任务的要求。在这里,你可以找到正确设置环境的链接和指南。
Nervos 赞助的 Gitcoin GR 13 黑客马拉松将于 3 月 9 日至 30 日举行,欢迎开发者们积极参与。
在开始深入到更复杂的任务之前,您需要设置一个 CKB 节点 和 CKB 索引器(indexer)。这两个节点软件将会协同运作以支持 dApp 开发的需求。在往后我们使用的脚本会和测试网交互,并且依赖这些节点所提供的网络状态。
Nervos 支持使用与以太坊兼容的智能合约,允许开发者使用目前最流行的 Solidity 智能合约语言创建 dApp。这是通过使用 Godwoken 和 Polyjuice 框架在基于 Layer 2 的执行环境中运行 EVM(以太坊虚拟机)来实现的。 EVM dapps 在 Nervos 上的运行方式与在以太坊上几乎相同。这样一来,dApp用户就可以继续使用最常见的 MetaMask 钱包,而无需安装任何新的钱包。熟悉以太坊的 dApp 用户也会有宾至如归的感觉!
在 Nervos 的 EVM兼容的 Layer2 上编译和部署智能合约的过程,与以太坊上的过程有很多相似之处。我们只需要做一些小小的改变即可。 Polyjuice 的最终目标是提供与所有基于 EVM 的 dApp 和 EVM 工具的 100% 兼容性。然而,开发工作仍在进行中。这个目标还没有完全实现,但它正在日益接近。
在本任务中,我们将学习如何对前一个任务中部署的智能合约进行函数调用。我们将提供一些使用流行的 Web3.js 库的简单范例代码。这段代码将允许您与运行在 Nervos 的 Layer 2 i 上的智能合约进行交互,其方式与运行在以太坊上的智能合约几乎相同。
在本任务中,我们在 Layer1 上创建一个通证,然后将其移动到 Nervos 的 EVM兼容 Layer2 。Layer1 上通证牌将使用 SUDT 标准,这是 Nervos 上最基础的资产形式。当通证移动到 Layer2 时,它被转换为 ERC20 标准的通证,这是支持以太坊虚拟机(EVM)的区块链上最流行的通证标准。
为了使用在 Layer1 和 Layer2 之间移动的 SUDT 通证,您需要部署 ERC20 代理合约来与它们交互。这个特殊的 solidity 智能合约是由 Nervos 团队准备的,允许 EVM 与 Nervos 上的 SUDT 通证交互。
在这个任务中,你将使用 Force Bridge 从以太坊 Rinkeby 测试网将 ETH 转到 Nervos Layer 2 上变成 ckETH。ETH 是以太坊上的原生资产,它在 Nervos 上使用 ckETH 来表示他是一个包装过的 sudt 通证。ckETH SUDT 通证是 Nervos 上的原生资产,它可以在 Layer1 和 Layer2 之间使用,并且得到Nervos 生态系统内所有工具的广泛支持。
在本教程中,您将学习如何将现有以太坊应用程序移植到 Nervos 的 EVM 兼容的 Layer2 上运行。
大规模采用的最大挑战之一是让应用程序对终端用户来说既安全又简单。对于开发人员来说,工具和基础设施是一个挑战,他们必须努力的在难用的工具和交付给用户的良好体验之间取得微妙平衡。这些工具通常很复杂,很难使用。基础设施缺乏标准化和无缝兼容性。
使用区块链 Layer2 网络的自然而然会有一个步骤是提取资金。在 Layer1 网络中,这个概念通常通过交易所或跨链桥的方式存在。 在 Godwoken 中,把你的资金取出来的最基本方法是使用内置的提现机制。
在 Godwoken 取款有两个步骤。第一部分是初始提现,第二部分是解锁资金。5 天挑战期过后才能解锁资金。这给了 Layer2 网络运营商一个检查和挑战恶意交易的时间。
在本教程中,我们将会让您安装一个 Tron 钱包,然后对之前部署在 Nervos 的 Layer2 测试网上的以太坊智能合约进行函数调用。我们将向您展示如何利用 Nervos 的灵活性,让您的 dApp 支持来自其他区块链生态系统的钱包,并允许它们的用户与以太坊智能合约交互,即使它们从未被设计为这样做。
在这里你可以了解有关Nervos生态系统的介绍, 学习各种重要概念,并在即将开始的黑客松准备过程中获得上手经验分享。
为了完成这些目标, 我们将集合一套任务来指导你完成整个学习过程。 每一个任务都会告诉你需要完成什么, 指导获得完成任务过程中所必要工具和信息,并且告诉你需要提交哪些证明给评委会以表示你已经完成任务。
Nervos 有能力支持对多种智能合约平台的兼容,但是第一批任务主要是围绕以太坊生态的专项适配。如果你有以太坊的开发经验,或者曾经接触过 Solidity 智能合约语言,在您掌握了该工具在 Nervos 上的工作原理的时候,您将会用的很顺手的。
Nervos的一个重要特性是对其他区块链平台的适配性,这是一种使 tokens 和资产从其他区块链向Nervos生态系统安全有效的迁移能力(反之亦然!)所有的主流区块链平台用户都可以无门槛地使用任何在 Nervos 上开发的 dApp,这大大节省了开发者们的精力和时间,他们不再需要为想支持的新的区块链平台来修改他们的应用。
这一切得以实现都是因为 Nervos 底层极度的灵活性,它为开发者们提供了在任何其他平台上都无法实现的便利。 Nervos 非常灵活,以至于可以使用第三方钱包(例如流行的 MetaMask 钱包)与 Nervos 进行交互,而无需用户安装任何其他软件。这个过程是此无缝,以至于来自其他区块链的用户甚至可能没有意识到他们在使用 Nervos!
Nervos 生态系统仍在不断成长,目前有许多基础设施正在积极开发中。今天并不是万事俱备的状态。在我们的任务中,我们将指导您完成现在可用于测试的部分,并将很快为生产环境做好准备。这将使您有机会熟悉如何在 Nervos 上搭建 dApp。一旦基础设施准备就绪,您将首先向 Nervos 用户以及任何连接到 Nervos 的区块链平台的用户发布您的 dApp。
如果您在任何任务中遇到困难,请随时在 Nervos 的 Discord # gitcoin-hackathon-cn 上发送消息。我们将随时帮助您解决您可能遇到的任何问题。祝你好运!