ImmunoPass is a Decentralized Application (DApp) built upon the Solana Blockchain for its higher transaction speed and lower gas fees.
ImmunoPass is a digital vaccination/Immunisation record-keeping and maintenance platform that focuses more on the ease of access, accuracy and integrity of vaccination data where the Vaccination Profile/Passport is owned by the user itself for privacy and is overlooked by the healthcare sector for validation and verification.
*Note: most of the libraries and frameworks used in this project doesn't run/is not available/not compatible in the windows environment
Node - the node package manager was used to maintain packages of the Solana Application + the Client Application.
Rust Programming Language - the programming language which has been used to develop the DApp.
Solana Tool Suite - provides the environment for building Solana based DApps.
Anchor Framework - Anchor is a framework for Solana's Sealevel runtime providing several convenient developer tools.
React JS - the frontend/client-side was developed using React JS library.
- clone the repository and go into the project directory
git clone https://github.com/RuFerdZ/ImmunoPass.git
cd immunopass
- download the dependencies for the anchor-based Solana DApp
yarn install
- Change cluster pointer to localhost and run solana-test-validator from the root directory
solana config set --url http://localhost:8899
cd ~
solana-test-validator
- Build and Deploy DApp
anchor build
anchor deploy
- Get the program id generated from the
anchor deploy
and replace it on the
Anchor.toml
immunopass key's value
[programs.localnet]
immunopass = "HoVPS3s5fbgFfbXAuGg6hfL8CKMYjLBhPHdtfqBgLNMG"
programs/immunopass/lib.rs
program id
declare_id!("HoVPS3s5fbgFfbXAuGg6hfL8CKMYjLBhPHdtfqBgLNMG");
- Go into the
\app
directory and install dependencies
cd app
npm install
- Run the client application
npm start
- Now you can access the DApp via
http:\\localhost:3000\
from your browser!
You can run the test cases in the root directory of the project (not in /app
)
*Note: stop solana-test-validator if it's already running in the background to avoid data duplication/addition to the blockchain while running tests which may cause the tests to fail
anchor test
If doing changes to the business logic (the solana program), make sure to synchronize the IDL file generated in the solana program with the IDL file in the /app
after a successful deployment.
anchor run sync-idl
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.