section-engineering-education / engineering-education

“Section's Engineering Education (EngEd) Program is dedicated to offering a unique quality community experience for computer science university students."
Apache License 2.0
363 stars 889 forks source link

[Blockchain] Generating randomness using Chainlink VRF with Brownie #6351

Closed RaphaelNdonga closed 2 years ago

RaphaelNdonga commented 2 years ago

Topic Suggestion

Generating randomness using Chainlink VRF with Brownie

Writing sample(s):

https://www.section.io/engineering-education/sealed-classes-in-kotlin/ https://www.section.io/engineering-education/hilt-android-tutorial/

Proposal Submission

Proposed title of article

Generating randomness using Chainlink VRF with Brownie

Proposed article introduction

The Ethereum blockchain is a deterministic system. 'Deterministic' means that given the same inputs, the outputs always be the same. When it comes to generating random numbers, this is a problem. You don't want to generate random numbers in a way that is deterministic. Hackers could manipulate inputs to generate their desired outputs.

Chainlink VRF solves this problem by using decentralized 'oracles'. Oracles link offchain data (in our case, randomness) and connect it to the blockchain. Randomness has a variety of usecases which are important. For example, Blockchain Gaming and the Metaverse NFT Creation and Distribution Lucky Draws and DeFi Marketing Campaigns and Loyalty Rewards Fair Selection and Ordering Processes Authentication and Security

In this article, you will understand how the Chainlink VRF functions and how to deploy it in your smart contracts using brownie

Key takeaways

An understanding chainlink vrf How to transfer link tokens using Brownie How to deploy the chainlink vrf on brownie

Article quality

This article differs from the official docs in that it focuses on how to use the Chainlink VRF specifically in Brownie

References

Please list links to any published content/research that you intend to use to support/guide this article.

WanjaMIKE commented 2 years ago

The topic seems similar to https://www.youtube.com/watch?v=JqZWariqh5s How will it be different?

RaphaelNdonga commented 2 years ago

Hey @WanjaMIKE . Thank you for the question. If you watch the video all the way to the end, you will realize that they are deploying this on remix. An online IDE for Blockchain beginners. Brownie is a Python API that allows you to deploy smart contracts locally. It also has added benefits of Using Python for testing and more.

RaphaelNdonga commented 2 years ago

@WanjaMIKE ...