This project is a decentralized peer-to-peer (P2P) trading platform that enables users to trade assets securely and transparently without intermediaries. Using blockchain technology and smart contracts, this platform ensures trust, transparency, and security in every transaction.
- Blockchain-backed for secure and immutable transaction history.
- Smart contract automation to enforce trade terms.
- Escrow system to safeguard funds until both parties fulfill their obligations.
- Real-time notifications for transaction updates.
- Easy-to-use interface designed with both buyers and sellers in mind.
- Multi-currency support for digital asset trading.
- Backend: Node.js, Express
- Blockchain: Ethereum, Solidity (for smart contract development)
- Frontend: React.js
- Database: MongoDB
- Smart Contracts: Truffle, Web3.js, MetaMask
Before you begin, ensure that you have met the following requirements:
- Node.js and npm installed on your machine.
- MongoDB installed and running locally.
- MetaMask browser extension for Ethereum transactions.
- Infura account for Ethereum node connection.
-
Clone the repository:
git clone https://github.com/RudranshVyas-3107/Peer-to-Peer-Trading.git cd Peer-to-Peer-Trading
-
Install the necessary dependencies:
npm install
-
Configure the environment variables by creating a
.env
file:DB_URI=mongodb://localhost:27017/peer_to_peer_trading INFURA_PROJECT_ID=<your-infura-project-id>
-
Compile and migrate the smart contracts:
truffle migrate --network <network-name>
-
Start the application server:
npm start
-
Open your browser and visit
http://localhost:3000
to access the platform.
- Users can register and log in with MetaMask.
- Browse available offers or create new trading offers.
- The built-in escrow system ensures secure transactions until both parties confirm the trade.
- Real-time updates keep users informed of the trade status.
- Integration of non-fungible tokens (NFTs) for trading unique assets.
- Rating and feedback system for traders.
- Expansion to support more blockchain networks like Binance Smart Chain.
- Mobile application for easier access.
Contributions are welcome! Please follow the steps below if you'd like to contribute:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -S -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for more information.
If you have any questions or feedback, feel free to contact me via:
- GitHub: RudranshVyas-3107
- Email: f20202389@hyderabad.bits-pilani.ac.in