This device is not compatible.
PROJECT
User Feedback for Your Website with Web 3.0
In this project, we’ll write a smart contract in Solidity and deploy it using Brownie. We’ll also create a decentralized application that stores book reviews on the blockchain by interacting with the deployed contract.
You will learn to:
Write smart contracts in Solidity.
Access contract functions using Web3.py.
Access contract functions by creating decentralized applications.
Deploy smart contracts on the local network.
Skills
Web 3.0 App Development
Decentralised Applications
Smart Contracts
Prerequisites
Basic understanding of Solidity
Basic understanding of Web3.py
Advanced understanding of React
Basic understanding of Flask
Technologies
Flask
React
Python
Solidity
Project Description
Web3.py is a Python library used to interact with Ethereum. It’s used in decentralized applications to interact with smart contracts, send transactions, read block data, and many other tasks.
We’re going to use Solidity to write the smart contract and use Brownie to deploy it to a local blockchain. We’ll use Ganache CLI to do this.
In this project, we’ll create an e-library application using the Flask backend to interact with the smart contract and the React frontend to display the books and their reviews. Flask is a Python framework for web applications. It’s particularly useful for creating lightweight web applications. We use Flask to create a lightweight microservice to call the smart contract functions.
This is what our frontend is supposed to look like:
Project Tasks
1
Smart Contract
Task 0: Get Started
Task 1: Create a Smart Contract
Task 2: Compile the Contract
Task 3: Set Up a Local Blockchain
Task 4: Deploy the Contract
Task 5: Test the Contract
2
Flask Backend
Task 6: Connect to the Contract
Task 7: Display Reviews
Task 8: Create the Template
Task 9: Store Reviews
3
React Frontend
Task 10: Connect to Flask Backend
Task 11: Create the Toggle Function
Task 12: Create the Submit Function
Congratulations!
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.