ChainlinkLearningPath icon indicating copy to clipboard operation
ChainlinkLearningPath copied to clipboard

用以了解 Chainlink 的各项服务,完成并且领取奖励!

Chainlink Learning Path

image

项目介绍

Chainlink,是一个去中心化预言机网络(Decentralized Oracle Network),它可以给区块链上的智能合约提供数据和计算服务。其中数据服务包括 Data FeedAny APIFunctions,计算服务包括 VRFAutomation。不论你开发什么类型的 Web3 应用,比如 DeFi,NFT,GameFi 等等,都有可能用到预言机这项基础服务,所以预言机的服务是 Web3 开发者必须要掌握的一项技术。

本项目的目的是通过 几个简单的任务配套的教程 来帮助开发者了解 Chainlink 预言机,目标人群为想要了解预言机的智能合约开发者。

完成这前 3 个任务以后,将地址提交给 Frank 以获得 SBT 学历证明以及 Chainlink Swag!

:heart: Chainlink degree SBT :heart: https://polygonscan.com/address/0x5a1805ffd9cfa1f79fb3cfced12e02e342672e2e

练习任务

前期准备:

  1. 安装 git。 brew install git
  2. 安装 nodeJs。 brew install node
  3. Fork 这个 repo。
  4. git clone https://github.com/<YOUR_USERNAME>/ChainlinkLearningPath.git
  5. 运行 npm install 所需要的依赖。
  6. 在测试网部署时,安装浏览器端钱包 Metamask,并且生成自己的账户地址。
  7. 在测试网部署时,通过 Chainlink faucet 获得 Sepolia 测试网的 ETH 以及 Link。

任务 1 - Chainlink Data Feed:

  1. 学习下述学习资料中的 Chainlink Data Feed(喂价)部分内容。
  2. 完成 contracts/DataFeedTask.sol 中的任务。

任务 2 - Chainlink VRF:

  1. 学习下述学习资料的 Chainlink VRF(可验证随机数)部分内容。
  2. 完成 contracts/VRFTask.sol 中的任务。

任务 3 - Chainlink Automation:

  1. 学习下述学习资料中的 Chainlink Automation(合约自动化执行)部分内容。
  2. 完成 contracts/AutomationTask.sol 中的任务。

:beer: :beer: 完成以上 3 个任务后,请提交用来完成任务的测试网地址,将发送 SBT 证明! :beer: :beer:

学习资料

1. Chainlink Data Feed(喂价)

Chainlink Data Feeds 又称喂价,这项服务可以让用户的智能合约以最快的方式获得特定资产标的价格,不论你使用的是链上的智能合约和还是链下应用,都可以通过单一请求,从 Chainlink Data Feeds 获得资产的价格数据。

Data Feed 相关链接


2. Chainlink VRF(可验证随机数)

Chainlink VRF(Verifiable Random Function)是一个随机数的生成器(Random Number Generator:RNG)。通过 Chainlink VRF 中,智能合约可以在不影响安全性和可用性的条件下获取随机数。

Chainlink VRF 收到随机数的请求以后,会将一个或者多个随机值以及它们对应的密码学证明(cryptographic proof)发送给智能合约。链上智能合约通过密码学证明对随机数验证以后,会将随机数写入用户智能合约。

Chainlink VRF 生成的随机数不能被包括矿工,节点运营商,用户和智能合约开发人员在内的任何一方单方面操纵和修改,因此保证了随机数和可靠性和安全性。

VRF 相关链接


3. Chainlink Automation(合约自动化执行)

Chainlink Automation(曾经被命名为 Chainlink Keepers) 可以通过链下 Chainlink 去中心化预言机网络,根据条件或者时间触发链上智能合约,实现智能合约执行的自动化。

由于区块链上的智能合约无法自动执行,通常开发人员需要通过链下脚本或者赏金模式来保证合约函数的处罚。Chainlink Automation 可以以去中心化的方式,监控链上合约从而保证合约函数的执行。

Automation 相关链接


接下来可以做什么?

  • 参与 Chainlink 黑客松,Chainlink 每年会有举办两届黑客松:4 月举办春季黑客松和 10 月举办的秋季黑客松,请在以下的链接中查看以往的黑客松具体内容和获奖项目列表。

  • 申请成为 Chainlink 的技术专家(dev expert),请通过末尾二维码联系申请。

  • 申请 Chainlink 工作岗位,请在此查看 Chainlink 开放的所有岗位。

  • 为你的项目申请 Chainlink Grant。为了鼓励生态发展,给行业做贡献,Chainlink 官方会对有创新性和社会影响力的项目提供 Grant。

  • 为你的项目申请 Chainlink BUILD。Chainlink 官方会帮助优秀的早期项目方提供包括项目指导,资源对接以及资金的帮助。

  • 成为 Chainlink Contributor。如果想要给 Chainlink 共享代码,请查看 contributor 规则。如果想让团队增加新的特性,或者是提交 bug,请在官方 GitHub 的 Issue 中提交。

社区支持

Chainlink 中国开发者社区会持续性输出 Chainlink 最新信息,并且不定期举办一些分享来学习优秀案例。如果在使用 Chainlink 的时候遇到了任何的问题,可以和熟悉该技术的开发者和社区人员一起交流。

如果想要加入社区,请扫描以下二维码:

其他学习资料

任务需要使用当前比较主流的 Hardhat 合约框架以及 Goerli 测试网络。