HyperETH is a decentralized trading platform designed to transform the peer-to-peer trading of digital assets, specifically Non-Fungible Tokens (NFTs). Built on blockchain technology and leveraging smart contracts, HyperETH prioritizes security, transparency, and a seamless user experience. By eliminating intermediaries, it enables trustless and efficient transactions while upholding the principles of decentralization.
This project is developed for learning purposes only and serves as a simulation of real-world blockchain transactions. All Ethereum blockchain configurations and transaction accounts are hardcoded to replicate blockchain functionality in a controlled environment.
The initial UI/UX design for HyperETH was created in Adobe XD. You can view the design prototype here:
🔗 View Adobe XD Prototype
- Asset Discovery: Easily browse and view digital assets available for trading. This feature simplifies asset exploration, making it convenient for users to find items of interest.
- Search and Filter Functionality: Robust search and filter options allow users to pinpoint specific assets based on preferences, enhancing the overall user experience.
- Smart Contract Escrow: Smart contracts act as escrow agents during trades, ensuring the security of assets by holding them in escrow until a trade is successfully completed or canceled.
- Transaction History: Users can access a detailed transaction history to review and track their trading activities, adding transparency and improving usability.
- Ganache
- Python 3.11.5
An existing SQL dump file can be found in backend/db_setup/dtsystem_db.sql.
This section specifies how to setup a local Ganache Ethereum workspace:
- Open the file
backend/config/blockchain_network_config.py& copy the contents of GANACHE_MNEMONIC - Launch Ganache & select
New Workspace - Ethereum - Navigate to
Accounts & Keysand paste the copied mnemonic - Click
Startto finish creating the Ethereum workspace.
Note: The guide above is intended for users who are new to Ganache and setting up local Ethereum workspaces. The MNEMONIC is a series of unique keywords used to recreate the exact blockchain environment used during the project's development. If you are already familiar with using Ganache and configuring Ethereum workspaces, feel free to follow your own setup process.
This section specifies how to setup the application’s Python backend, build and deploy smart contracts, and perform any remaining initialization steps onto the local Ethereum blockchain by executing the respective python scripts.
-
Install the required Python dependencies from the
backend/requirements.txtfile:$ pip install -r requirements.txt
-
Compile & build the smart contract JSON artifacts:
$ python build.py
-
Deploy the smart contracts onto the local Ethereeum blockchain on Ganache:
$ python deploy.py
-
Once the script finishes the deployment, it will output the smart contract’s addresses on the local Ethereum blockchain. Copy each address and replace the following constant variables in
backend/config/blockchain_address_config.py:ASSETPURCHASE_CONTRACT_ADDRESSESCROW_CONTRACT_ADDRESSUSERACCOUNT_CONTRACT_ADDRESS
- Two user accounts will be created for the purpose of simulating transactions on the platform. To create them, execute the following script from the terminal:
$ python init_users.py
- Navigate to
frontend& install the application's React frontend NPM packages:$ npm install
- Open up 2 terminal/console windows, each in the
frontendandbackenddirectories respectively: - To start the Python backend server:
$ uvicorn main:app --reload
- To start the React frontend:
$ npm start
This project is a prototype for educational purposes only. It does not implement a payment gateway, and no real funds or assets are exchanged on the platform. All asset listings and transactions are mock implementations and do not reflect actual NFTs or real-world marketplaces.
While the platform is designed to simulate blockchain interactions, it is not intended for production use or actual NFT trading. Always use caution and verify platforms when engaging in real blockchain transactions.