Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
1x-eng authored Apr 4, 2024
1 parent 66c2b3a commit 36be8c3
Showing 1 changed file with 19 additions and 15 deletions.
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,44 @@
![alt text](https://github.com/PruthviKumarBK/Decentralized_eCom/blob/master/ETHEReact.png)

# Description
ETHEReact is a full stack DApp; demonstrating e-commerce capabilities without any database powering the backend but the EVM standing tall! This is not a product in iteself but an idea for aspiring blockchain enthusiasts to uncover the potential; end-to-end!
ETHEReact is a full-stack DApp, showcasing e-commerce capabilities without relying on any traditional database for the backend. Instead, it utilizes the Ethereum Virtual Machine (EVM) as its backbone. While not a product in itself, it serves as an idea for aspiring blockchain enthusiasts to explore the full potential of decentralized applications, from end to end.

- This app is comprised of Truffle powered `testrpc` (which is also called `ganache`) facilitating local development.
- Web3 bridges Ethereum to ReactJS!
- This app utilizes Truffle-powered testrpc (also known as ganache) for local development.
- Web3 serves as the bridge between Ethereum and ReactJS

# Setup
- Install latest version of [NodeJS](https://nodejs.org/en/)
- Install the latest version of [NodeJS](https://nodejs.org/en/)
- Install `truffle` globally using `npm install -g truffle`
- Install Ethereum RPC globally using `npm install -g ethereumjs-testrpc`
- Clone this Repo using `git clone https://github.com/PruthviKumarBK/Decentralized_eCom.git`
- `cd Decentralized_eCom`
- Open a terminal/cmd and navigate to current working directory and cd into 'backend'. `cd backend`, instantiate testrpc server using `testrpc -l 9000000000 -p 8484`. ('-l' indicates available gas limit for the network. In test networks, this is at developer's discretion. '-p' indicate the port). You should now have Ethereum running on your local development machine. Leave that running!
* Open another terminal/cmd and navigate to current working directory and again, cd into 'backend'. `cd backend`. You will now need to compile solidity contracts, migrate them to your Ethereum Server before front end is started.
- Below is the command sequence to be executed in the terminal or command prompt:
```
cd backend
testrpc -l 9000000000 -p 8484
```
This will navigate to the 'backend' directory and instantiate a testrpc server with the specified gas limit and port. Make sure to leave the server running for Ethereum to be operational on your local development machine.

* Change directory to 'backend' and compile the Solidity contracts, then migrate them to your Ethereum server. Depending on your setup, you might use Truffle commands like truffle compile and truffle migrate to achieve this."
* `truffle compile` (On Windows 10, `truffle.cmd compile`)
* `truffle migrate` (On Windows 10, `truffle.cmd migrate`)
* `truffle console` (On Windows 10, `truffle.cmd console`)
* Within console, we need the address (SHA256) address of 'Supplier.sol' & 'Customer.Sol' solidity contracts.
* In console, retrieve SHA256 addresses for `Supplier.sol` and `Customer.sol` contracts.
* We can get that using `Supplier.address`
* Copy the SHA256 string safely. We will need this later. [TAG - Supplier SHA256]
* Copy this SHA256 string. We will need this later. [TAG - Supplier SHA256]
* Get Customer contract address using `Customer.address`
* Copy the SHA256 safely, We will need this later. [TAG - Customer SHA256]
* Copy this SHA256, We will need this later. [TAG - Customer SHA256]

* Now, lets get the front end functional!
* Now, let's get the front end functional.
* Open the file named 'EthereumSetup.js' (`Decentralized_eCom/frontend/src/EthereumSetup.js`)
* Copy `SupplierAddress` from [TAG - Supplier SHA256] step to line number 13. (`let supplierAddress = '<YOUR SHA256 Address for Supplier Contract>'`)
* Copy `CustomerAddress` from [TAG - Customer SHA256] step to line number 14. (`let customerAddress = '<YOUR SHA256 Address for Customer Contract>').
* Save file `EthereumSetup.js`
* Open a new terminal/cmd and navigate to current working directory and cd into 'frontend'. `cd frontend`
* Open a new terminal/cmd, navigate to the current working directory, and then change directory to 'frontend' using the command: `cd frontend`.
* `npm install`
* `npm start` to bring the front end to life!
* `npm start`

Welcome to e-commerce on a decentralized platform! The UI is pretty bare bone. But, nonetheless, it demonstrates a full swing of capabilities from Supplier adding a product to market place -> Customer making a purchase -> Supplier Shipping the order -> Customer acknowledging the delivery! All of this on a BLOCKCHAIN! Pretty exciting!

I would love to learn what you build from here with this little foundation in place.
Welcome to decentralized e-commerce! While the UI may appear basic, it showcases the entire process: Supplier adding a product to the marketplace -> Customer making a purchase -> Supplier shipping the order -> Customer acknowledging delivery. And all of this happens on the blockchain! Exciting stuff!

# LICENCE
MIT License
Expand Down

0 comments on commit 36be8c3

Please sign in to comment.