This repository containts an Ethereum DApp that demonstrates a Supply Chain flow between a Seller and Buyer. The user story is similar to any commonly used supply chain process. A Seller can add items to the inventory system stored in the blockchain. A Buyer can purchase such items from the inventory system. Additionally a Seller can mark an item as Shipped, and similarly a Buyer can mark an item as Received.
The DApp User Interface when running should look like...
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Please make sure you've already installed ganache-cli, Truffle and enabled MetaMask extension in your browser. IPFS was not used for this project.
The starter code is written for Solidity v0.4.24. At the time of writing, the current Truffle v5 comes with Solidity v0.5 that requires function mutability and visibility to be specified (please refer to Solidity documentation for more details). To use this starter code, please run
npm i -g truffle@4.1.14to install Truffle v4 with Solidity v0.4.24.
A step by step series of examples that tell you have to get a development env running
Clone this repository:
Change directory to project-6 folder and install all requisite npm packages (as listed in package.json):
cd project-6
npm install
Libraries Used:
- truffle
- truffle-hdwallet-provider
Launch Ganache:
ganache-cli
Your terminal should look something like this:
In a separate terminal window, Compile smart contracts:
truffle compile
Your terminal should look something like this:
This will create the smart contract artifacts in folder build\contracts.
Migrate smart contracts to the locally running blockchain, ganache-cli:
truffle migrate
Your terminal should look something like this:
Test smart contracts:
truffle test
All 10 tests should pass.
In a separate terminal window, launch the DApp:
npm run dev
- Ethereum - Ethereum is a decentralized platform that runs smart contracts
- Truffle Framework - Truffle is the most popular development framework for Ethereum with a mission to make your life a whole lot easier. *Web3 - Web3 is required on the frontend to interact with the contracts and the functions deployed on the ethereum blockchain.
The contract is deployed on the Ropsten test network: transaction hash: 0x58352100b0b7eb70e2a5afa6c86e8fa1e4719b408d5e9bcd1b0d648fce53808d Etherscan link: https://ropsten.etherscan.io/tx/0x58352100b0b7eb70e2a5afa6c86e8fa1e4719b408d5e9bcd1b0d648fce53808d Contract: 0xeeef4a7c3D2de82bD3BeE61726a48D22EF7F0e08 Etherscan link for contract: https://ropsten.etherscan.io/address/0xeeef4a7c3d2de82bd3bee61726a48d22ef7f0e08
- Solidity
- Ganache-cli
- Truffle











