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.

User Feedback for Your Website with Web 3.0

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:

Frontend of our application

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!