Chainlink Developers Starter Kit Showcase
We’re excited to announce the Chainlink Developers Starter Kit Showcase, a developer-focused initiative that will run throughout the month of May. Over the next month, we encourage you to experiment with our Starter Kits, either by building smart contracts that use Chainlink Price Feeds, VRF, or Any-API functionality, or by improving the Starter Kits in some way or form, and share your projects with the community.
Chainlink Starter Kits
The Chainlink documentation is a great place for learning how to build smart contracts that make use of Chainlink’s tools and features, offering developers a quick and easy way to either copy boilerplate code into their projects, or deploy the sample code snippets using Remix, the online Solidity IDE. These examples are simple, standalone contracts that demonstrate how to use Chainlink tools. However, they aren’t always ideal starting points when creating a new project that requires other things such as tests, deploy scripts, or integration with other off-chain parts of a project. Developers want robust, well-documented, up-to-date templates that they can easily build upon.
The Chainlink Starter Kits are open-source projects based on existing Ethereum Virtual Machine (EVM)-based development frameworks that allow developers to easily integrate Chainlink features and tools into their projects. Each of these starter kits offers developers a working code repository that contains simple but complete versions of the three widely used Chainlink oracle functions:
In addition to this, the repositories contain scripts to deploy and test all of the smart contracts, giving developers a sensible starting point on how to build smart contracts that make use of Chainlink’s products. Each repository is based on an existing popular Solidity development environment, such as Truffle Suite, Hardhat, or Brownie, with Truffle and Hardhat focusing on JavaScript and TypeScript programming languages, and Brownie focusing on Python. All three development environments are based on Solidity/Ethereum Virtual Machine development and offer developers testing environments via the use of a local network. The Chainlink Starter Kits can be found pinned to the top of the SmartContract GitHub account:
Chainlink Hardhat Starter Kit
Hardhat is a JavaScript and TypeScript-based development environment for developers to compile, deploy, test, and debug EVM compatible smart contracts. It helps developers manage and automate recurring tasks, which are simple repeatable functions aimed to increase productivity and reduce time taken on repeatable tasks during the development, testing, and deployment lifecycle.
Hardhat also comes with its own local development network called the Hardhat Network, which focuses on Solidity debugging and additional logging, and also gives developers a local development environment that’s ideal for developing and refining code.
Our Chainlink Hardhat Starter Kit is a prepackaged Hardhat project that contains all the tasks and smart contracts needed to implement, deploy, and test the main features offered by the Chainlink Network today in your Solidity smart contracts.
Check out the blog post on How to Use Chainlink With Hardhat for more detailed information and instructions on using Chainlink’s different oracle functions within the Hardhat development environment.
Chainlink Brownie Starter Kit
Brownie is a Python-based development and testing framework for Ethereum smart contracts. It offers Python developers a way to maintain smart contracts, deployments, scripts, and testing all within a single integrated development environment.
Our Chainlink Brownie Starter Kit is a pre-baked Brownie mix, with all the contracts and scripts required to work with and use Chainlink smart contracts in a Python environment. It also supports local development environments, as well as forking of networks.
Check out our blog post post on Developing a DeFi Project Using Python for more information and a real-world example of using the Chainlink Brownie Starter Kit to build a dApp that leverages Chainlink oracles.
Chainlink Truffle Starter Kit
Truffle Suite is a development environment, testing framework, and asset pipeline for Ethereum that aims to make life as an Ethereum developer easier. It does this by offering developers built-in smart contract compilation and deployment, automated contract testing with Mocha and Chai, as well as a scriptable deployment and migrations framework. Truffle also provides configurable network management for deploying to various public and private networks.
Our Chainlink Truffle Starter Kit allows you to easily develop, deploy, and test Chainlink-powered smart contracts on public Ethereum networks, as well as on an integrated local network such as Ganache.
Check out our blog post on How To Use Chainlink with Truffle for a more in-depth guide to using the Chainlink Truffle Starter Kit.
Starter Kit Showcase
The Starter Kit Showcase is an initiative that will run over the next few weeks to give developers a chance to experiment with our Starter Kits.
Developers are encouraged to choose one of the three starter kits, and then experiment with it by doing one of the following:
- Clone the repository, then implement an idea or concept you have in a Solidity smart contract that makes use of a Chainlink tool or feature
- Fork the repository, then improve or extend the Starter Kit in a new code branch, then create a pull request to have your improvement reviewed and potentially merged back into the main code-base
Some examples of implementing ideas or concepts with the Starter Kits:
- Combine multiple Chainlink Price Feeds to create a new price pair based on two feeds
- Connect a smart contract to an external adapter you’ve built using Any-API functionality
- Use Chainlink VRF to select random winners in a prize pool smart contract
- Create an NFT with verifiably random traits
- Extend or improve the tests in a Starter Kit
- Implement Continuous Integration (CI) into one of the Starter Kits
- Implement TypeScript scripts to be used instead of the existing JavaScript versions
Some examples of existing projects using the Starter Kits:
- NFT Mix, using the Brownie Starter Kit
- Never Fight Twice, using the Hardhat Starter Kit
- Parametric Crop Insurance, using the Truffle Starter Kit
Over the coming weeks, we’ll showcase each of the starter kits and walk through the features and functionalities that each kit offers.
Show Off Your Work
Once you’ve used a kit to implement your idea or made improvements to a kit, show your work to the world! To showcase your example, ensure you have it checked into a public repository and share the link to it on Twitter with the hashtag #StarterKitShowcase
, or share your repository in the #starter-kit-showcase
channel in the Chainlink Discord.
Approximately a month from now, we’ll host a livestream where we will take a look at some of the examples shared and we’ll also invite some contributors to join the livestream to talk about their projects and their experiences using the Starter Kits.
So be sure to check out the Starter Kits pinned to the Chainlink public repository, and start experimenting. As always, we can’t wait to see what you build!