An open API service indexing awesome lists of open source software.

https://github.com/linux08/supply_chain


https://github.com/linux08/supply_chain

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Supply chain & data auditing

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.

## Getting Started

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.

### Prerequisites

Please make sure you've already installed ganache-cli, Truffle and enabled MetaMask extension in your browser.

```
Give examples (to be clarified)
```

### Installing

> 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](https://docs.soliditylang.org/en/v0.5.0/050-breaking-changes.html) for more details). To use this starter code, please run `npm i -g truffle@4.1.14` to 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:

```
git clone https://github.com/udacity/nd1309/tree/master/course-5/project-6
```

Change directory to ```project-6``` folder and install all requisite npm packages (as listed in ```package.json```):

```
cd project-6
npm install
```

Launch Ganache:

```
ganache-cli -m "spirit supply whale amount human item harsh scare congress discover talent hamster"
```

Your terminal should look something like this:

![truffle test](images/ganache-cli.png)

In a separate terminal window, Compile smart contracts:

```
truffle compile
```

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:

![truffle test](images/deployment.png)

Test smart contracts:

```
truffle test
```

All 10 tests should pass.

![truffle test](images/test.png)

In a separate terminal window, launch the DApp:

```
npm run dev
```

## Built With

* [Ethereum](https://www.ethereum.org/) - Ethereum is a decentralized platform that runs smart contracts
* [IPFS](https://ipfs.io/) - IPFS is the Distributed Web | A peer-to-peer hypermedia protocol
to make the web faster, safer, and more open.
* [Truffle Framework](http://truffleframework.com/) - Truffle is the most popular development framework for Ethereum with a mission to make your life a whole lot easier.

## Authors

See also the list of [contributors](https://github.com/your/project/contributors.md) who participated in this project.

## Acknowledgments

* Solidity
* Ganache-cli
* Truffle

* Draw.io

## Project summary

The goal of the project is to build a supply chain management system with right access control which are found in contracts/coffeeaccesscontrol to move goods right from when the farmer is harvesting is item upp until when the consumer gets it which operations are present in coffeebase/SupplyCahin.sol

The UML for this project can be found in the UML folder
![Activity](./UML/activity.png)
![Data](./UML/data.png)
![Sequence](./UML/sequence.png)
![State](./UML/state.png)

## Versions

| Package | Version |
|:-------:|:-------------|
|Truffle| v5.5.29 (core: 5.5.29) |
|Solidity| 0.8.1 (solc-js) |
|Node| v18 |
|Web3.js| v1.8.0 |

### Contract Address

contract address: 0x23A2426fF33E2E044D18e1457a85d49E0E140357

### Token Address

https://goerli.etherscan.io/token/0x23A2426fF33E2E044D18e1457a85d49E0E140357

### Transaction hash

https://goerli.etherscan.io/tx/0xd4f32a9a2c5a74a074897a620dbe227cf441aefca665ec1bfef2e10824c0635d