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.
This project was created using:
Truffle version: v5.1.48
Ganache: v2.5.4
npm: v6.14.8
NodeJS: v12.18.2
Please make sure you've already installed ganache-cli, Truffle and enabled MetaMask extension in your browser.
A step by step series of examples that tell you have to get a development env running
Clone this repository:
git clone https://github.com/rafarodra/SupplyChainProject-Udacity/tree/SupplyChainProject-Udacity
Change directory to myCoffeeSupplyChain
folder and install all requisite npm packages (as listed in package.json
):
cd myCoffeeSupplyChain
npm install
Launch Ganache:
You can use the cli or the graphic client
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:
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 Suite - Truffle is the most popular development framework for Ethereum with a mission to make your life a whole lot easier.
- Solidity
- Ganache-cli
- Truffle