Chainlink开发者入门套件展示

我们很高兴地宣布一项将在整个5月份运行并以开发者为中心的Chainlink开发者入门套件展示计划。在接下来的一个月里,我们鼓励开发者们通过构建使用Chainlink喂价VRF任意API等功能的智能合约,或通过以某种方式或形式改进入门套件等形式体验我们的入门套件,并与社区分享你的项目。

Chainlink文档是学习如何使用Chainlink工具和功能构建智能合约的好地方,并为开发者提供了一种将样板代码拷贝到自己的项目,或者使用在线Solidity集成开发环境Remix部署样例代码片段的快速简便的方式。这些案例很简单,且是独立的智能合约,能够很好的展示如何使用Chainlink工具。但是,在创建要求有测试,部署脚本,或者需要和其他链下部分集成的项目时,它们并不总是理想的起点。开发者想要的是更加鲁棒的,文档详尽的,实时的模板,这样能便于他们在此之上进行开发。

Chainlink入门套件是依据现有的基于以太坊虚拟机(EVM)的开发框架的开源项目,允许开发者便捷地集成Chainlink的功能和工具到自己的项目中。入门套件中的每一个都为开发者提供了一个工作代码仓库,它包含三个广泛使用的Chainlink预言机功能的简单是完整的版本:

除此之外,这些仓库还包含了用于部署和测试所有智能合约的脚本,为开发者提供了一个如何使用Chainlink产品来构建智能合约的合理的起点。每个仓库都是基于现有的流行的Solidity开发环境,如Truffle套件Hardhat或者Brownie等,其中 Truffle和Hardhat 专注于JavaScript 和TypeScript 编程语言,而Brownie专注于 Python。 所有三个开发环境都基于 Solidity/以太坊虚拟机开发,并通过使用本地网络为开发人员提供测试环境。可以看到,Chainlink 入门套件固定在 SmartContract GitHub帐户的顶部:

Chainlink入门套件固定在SmartContract GitHub仓库的顶部
Chainlink入门套件固定在SmartContract GitHub仓库的顶部

Hardhat是一个基于JavaScript和TypeScript的开发环境,供开发者编译、部署、测试和调试EVM兼容的智能合约。它能帮助开发者管理和自动化重复性任务,这些功能旨在提高生产效率并减少在开发、测试和部署生命周期中处理可重复任务所花费的时间。

Hardhat还带有自己的本地开发网络,称为Hardhat网络,它专注于Solidity调试和额外的日志记录,还为开发者提供了一个非常适合开发和改进代码的本地开发环境。

我们的Chainlink Hardhat入门套件是一个预先打包的Hardhat项目,其中包含在Solidity智能合约中所有的任务和需要实现、部署并测试由Chainlink网络提供的主要功能的智能合约。

查看如何通过Hardhat使用Chainlink的博客文章,可以了解更多在Hardhat开发环境中,如何使用Chainlink不同的预言机功能的详细信息和说明。

Brownie是一个基于Python的以太坊智能合约开发和测试框架。它为Python开发者们提供了一种在单个集成开发环境中管理包括与智能合约、部署、脚本和测试等相关任务的方法。

我们的Chainlink Brownie入门套件是一个“预烘焙”的Brownie组合,包含在Python环境中使用Chainlink智能合约所需的所有合约和脚本。同时它还支持本地开发环境和网络分叉。

查看我们关于使用Python开发DeFi项目的博文,了解更多信息以及使用Chainlink Brownie入门套件开发使用Chainlink预言机的dApp的真实示例。

Truffle套件是以太坊上的开发环境,也是一个测试框架和资产管道,旨在帮助以太坊开发者的生活更加轻松。它为开发者提供了内置的智能合约编译和部署功能,以及使用MochaChai进行自动化合约测试和可编写脚本的部署和迁移框架来实现这一点。Truffle还提供可配置的网络管理,用于部署合约到各种公共和私有网络。

我们的 Chainlink Truffle入门套件允许开发者在公共以太坊网络以及集成的本地网络(如Ganache)上轻松开发、部署和测试包含Chainlink功能的智能合约。

查看我们关于如何通过Truffle使用Chainlink的博客文章,可以获取使用Chainlink Truffle入门套件的更深入的指导。

入门套件展示

入门套件展示是一项将在未来几周内运行的计划,旨在为开发者提供试验我们的入门套件的机会。

我们鼓励开发者选择三个入门套件之一,然后通过执行以下操作之一对其进行试验:

  • 克隆(clone)存储库,然后在使用了Chainlink的工具或功能的Solidity智能合约中实现你的想法或理念
  • 分叉(fork)存储库,然后在新的代码分支中改进或扩展入门套件,然后创建拉取请求(pull request)以便于我们审查你的改进并可能会将其合并回主代码库

一些使用入门套件实现想法或概念的示例:

  • 结合多个Chainlink喂价以创建新的价格对
  • 将智能合约连接到使用认识API功能构建的外部适配器
  • 使用Chainlink VRF在奖池智能合约中随机选择获胜者
  • 创建具有可验证随机特征的 NFT
  • 扩展或改进入门套件中的测试
  • 在入门套件之一中实施持续集成 (CI)
  • 实现待使用的TypeScript脚本,而不是现有的JavaScript 版本

一些现有的使用入门套件的项目示例:

在接下来的几周内,我们将展示每个入门套件并介绍每个套件提供的特性和功能。

展示你的作品

一旦你使用套件来实现了你的想法或者对套件进行了改进,就可以向全世界展示你的工作了!为了展示你的示例,请确保将其在公共存储库中并在Twitter上共享它的链接同时添加标签#StarterKitShowcase,或者在 Chainlink Discord的#starter-kit-showcase频道中共享你的存储库。

从现在开始的大约一个月后,我们将举办一场直播,我们将在其中查看分享的一些示例,我们还将邀请一些贡献者加入直播,讨论他们的项目和使用入门套件的经验。

因此,请务必查看固定到Chainlink公共存储仓库的入门套件,然后开始试验。 与往常一样,我们期待看到你创作的作品!

Need Integration Support?
Talk to an expert
Faucets
Get testnet tokens
Read the Docs
Technical documentation