In the contemporary digital era, the significance of data cannot be overstated. Data permeates every aspect of people's lives, from everyday activities to critical criminal investigations. As data volumes continue to expand exponentially, effective data management becomes increasingly challenging, particularly when handling digital evidence in the context of cyber-crime investigations. This project delves into the intricacies of managing data integrity and ensuring secure distribution of digital evidence by leveraging blockchain technology.
- Node
- Ganache : https://trufflesuite.com/ganache/
- Truffle
- IPFS (To easily access the uploaded files)
- Docker (To host a private IPFS)
Navigate to directory /smartcontract
Change the port number to the port number of the Ganache Suite, which can found in the truffle-config.js file under development.
Run truffle migrate command
truffle migrate --reset --compile-all The migrate command will deploy the smart contracts to the ganache suite and will display the address of both smart contracts in the terminal.
To run ganache network in terminal run command:
truffle console --network ganacheCreate a .env file and paste in the variables from .env.local file located in directory /frontend/.env.local
Copy & paste the addresses of the smart contract to the respected environment variable in the .env file. Additionally, add a salt value which is needed for encryption.
VITE_USER_AUTH =
VITE_MANAGEMENT =
VITE_SALT =Open a terminal and navigate to the directory /ipfs, where docker-compose.yml file is located. To start the services defined in the Docker Compose file, run the following command:
docker-compose upIf you want to run the services in the background (detached mode), you can use the -d option:
docker-compose up -dOpen terminal on directory /frontend and enter to install necessary packages.
npm installTo Compile and Hot-Reload for Development
npm run devCompile and Minify for Production
npm run buildRun Unit Tests with Vitest
npm run test:unitLint with ESLint
npm run lint