This project is a blockchain-based application designed for tracking products in a supply chain. Leveraging the power of Ethereum blockchain and IPFS, it provides transparency and traceability from raw materials to the final product. Users can trace the origin, production, and distribution of products, ensuring authenticity and quality.
- Node.js (Download from nodejs.org)
- IPFS (Kubo) (Instructions at ipfs.io)
- Ganache CLI / Ganache GUI (CLI:
npm install -g ganache
, GUI: trufflesuite.com/ganache) - Flutter (For mobile app development, instructions at flutter.dev)
- A text editor or IDE of your choice (e.g., VS Code, IntelliJ)
-
Install Node.js:
- Follow the installation guide on the official Node.js website.
-
Install IPFS (Kubo):
- Refer to the official IPFS documentation for installation instructions.
-
Install Ganache:
- Choose either the CLI or GUI version based on your preference.
-
Set Up Flutter:
- Follow the Flutter installation guide for your operating system.
- Start the IPFS daemon:
ipfs daemon
- For CLI:
ganache-cli --host 0.0.0.0
- For GUI:
- Launch Ganache and configure a new workspace.
- Deploy your smart contracts to Ganache:
- Navigate to your project's root directory.
- Run the deployment script:
truffle migrate --reset
- Start the Flutter Application:
- Navigate to the Flutter project directory.
- Run the app:
flutter run
- The app allows users to create product batches, track raw materials, and view product histories.
- To create a new batch, navigate to the 'Create Batch' section and enter the product details.
- To view the history of a product, enter its batch ID in the 'Track Product' section.
- IPFS Daemon Not Starting: Ensure that there are no conflicts on the IPFS ports and that your firewall settings allow IPFS traffic.
- Ganache Connection Issues: Verify that Ganache is running and that your application's configuration points to the correct RPC URL.