OpenMoneroP2P.store is a non-custodial peer-to-peer platform for buying and selling Monero (XMR) and fiat currencies. This platform facilitates direct transactions between users, ensuring that funds are never held by the platform itself.
- User Registration and Authentication: Secure user sign-up and login with email verification.
- Trade Offers: Users can create and browse trade offers to buy or sell Monero.
- Transactions: Secure, non-custodial transactions between users.
- Monero Wallet Integration: Integration with Monero wallets using the Monero RPC API.
- Frontend: HTML, CSS, JavaScript (Vue.js)
- Backend: Django, Django REST Framework
- Database: PostgreSQL, MySQL, or MongoDB
- Blockchain Interaction: Monero RPC API
- Containerization: Docker
- Orchestration: Kubernetes
- Python 3.8+
- Django 3.0+
- Docker (for containerization)
- Node.js and npm (for frontend development)
- Monero daemon and wallet RPC setup
-
Clone the Repository
git clone https://github.com/bdr-pro/localmonero.git cd OpenMoneroP2P.store
-
Install Dependencies
pip install -r requirements.txt
-
Setup Environment Variables
Create a
.env
by change template.env file and add the necessary environment variables.MONERO_RPC_HOST=localhost MONERO_RPC_PORT=18083 MONERO_RPC_USER=user MONERO_RPC_PASSWORD=password
-
Apply Migrations
python manage.py migrate
-
Create a Superuser
python manage.py createsuperuser
-
Run the Development Server
python manage.py runserver
-
Build Docker Image
docker build -t openmonerop2p .
-
Run Docker Container
docker run -d -p 8000:8000 --env-file .env openmonerop2p
Users can sign up and log in to create trade offers and initiate transactions.
Users can create trade offers specifying the amount of Monero they want to buy or sell and the price. Payment details for fiat transactions should be provided.
- Initiate Trade: Users can initiate a trade by selecting an offer.
- Complete Trade: Once the trade is agreed upon, the transaction can be marked as complete.
The platform integrates with Monero wallets using the Monero RPC API to generate deposit addresses and facilitate withdrawals directly between users.
- SSL/TLS: Secure communication using SSL/TLS.
- 2FA: Two-factor authentication for user accounts.(Soon)
We welcome contributions from the community! Please follow these steps to contribute:
-
Fork the Repository
-
Create a Feature Branch
git checkout -b feature/your-feature
-
Commit Your Changes
git commit -m "Add your feature"
-
Push to the Branch
git push origin feature/your-feature
-
Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please open an issue