Welcome to the Final Project Module for Web2.5. This repository contains all necessary instructions to set up and launch the project, as well as additional resources to help you understand the theoretical foundations.
Ethereum Private Network Automator is a development web app designed to simplify the creation of Ethereum private networks. This tool allows developers to quickly set up and manage Ethereum private networks based on the Clique consensus, streamlining blockchain development.
- Automates the creation and management of Ethereum private networks.
- Includes a faucet which allows to obtain funds easily to start making transactions
- Includes a block explorer to view the blockchain data in real-time
- Frontend: Built with React and TypeScript for a modern, responsive UI.
- Backend: Uses Node.js and TypeScript to handle Ethereum network creation and management.
- Uses ethers.js and Web3.js for blockchain interactions
- Uses Docker for containerization
Before you begin, ensure you have the following installed:
- Node.js (v14.x or later)
- npm (v6.x or later)
- Docker (for running Ethereum nodes)
- Install Docker from here.
- Ensure the Docker daemon is running on your system.
- Git (for cloning the repository)
-
Clone the Repository
git clone https://github.com/codecrypto-academy/pfm-web2.5-oct24-1.git cd pfm-web2.5-oct24-1
-
Install Dependencies
- Install the project-level dependencies
npm install
- Install backend dependencies
cd backend npm install cd..
- Install frontend dependencies
cd frontend npm install cd..
-
Start Docker Daemon
The application requires Docker to run the Ethereum network. Make sure Docker is installed and the Docker daemon is running:
- Start Docker (depending on your system, you may need to open the Docker Desktop app or use a terminal command to start it).
- Verify Docker is running:
docker info
-
Start the Backend
Navigate to the backend directory and start the backend server:
cd backend npx nodemon src/app.ts
-
Start the frontend
Navigate to the frontend directory and start the react app:
cd frontend npm run dev
-
Access the web App
Open your browser and navigate to:
http://localhost:5173/
Contributions, issues, and feature requests are welcome. If you want to contribute:
- Fork the repository
- Create feature branch
- Commit your changes
- Push your branch and open a pull request
Click here for more info