Skip to content

App de Vacinação Utilizando Blockchain Ethereum - ITA - CES27

Notifications You must be signed in to change notification settings

gleme/blockchain-vaccination

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockchain Vaccination

It's a prototype for a vaccination registration service, backed by a Blockchain technology (Ethereum - Geth) and Next.js for the application frontend.

The repository structure is divided in 3 main modules as shown below:

├── app
├── monitoring
└── nodes
  • nodes: corresponds to Ethereum mining nodes running Geth
  • app: corresponds to the frontend application made with Next.js
  • monitoring: corresponds to the node1 monitoring service

The Ethereum network uses three mining nodes, being one (node1) the responsible for providing de RPC/HTTP interface exposed to Web3 on port 8501. The genesis file for the Ethereum network has been generated using puppeth with Proof of Authority (PoA) consensus engine.

Special thanks to thomasxnguy for providing a good example working with 2 nodes without a bootnode.

Prerequisites

The following two components are mandatory

Getting started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

First, clone the repository on a local directory and create a .env file following the instructions.

$ git clone [email protected]:gleme/blockchain-vaccination.git .

$ cd blockchain-vaccination

$ cp ./app/sample.env ./app/.env

The last command on the above script, copies the sample.env file to a .env to be used by the local installation. The .env contains two environment variables:

  • NEXT_PUBLIC_RPC_API_URL: the url endpoint to the RPC exposed node, on our case http://localhost:8501
  • NEXT_PUBLIC_CONTRACT_ADDRESS: the smart contract`s address in the Blockchain, on our case 0x4F02E0Fa790698b47CD30AC73ee8BE89d09E942B

Then, the containers should build and run with the following command:

$ docker-compose up -d

After the Docker containers are built and running, you should get:

Get Enode Id

To get the Enode Ids from the running node containers, run the following commands:

$ docker logs geth_node1 2>&1 | grep "enode:"
$ docker logs geth_node2 2>&1 | grep "enode:"
$ docker logs geth_node3 2>&1 | grep "enode:"

Work Division

  • Research Proposal: Andrei Carniel
  • Article Writing: Andrei Carniel & Gustavo Leme
  • Article Revision: Andrei Carniel & Gustavo Leme
  • Ethereum Smart Contract: Andrei Carniel & Gustavo Leme
  • Application Frontend: Gustavo Leme
  • Containerized Ethereum Network: Gustavo Leme

About

App de Vacinação Utilizando Blockchain Ethereum - ITA - CES27

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published