Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/bdr-pro/localmonero

A new journey begins, For peer-to-peer comrades, When LocalMonero's light fades, Our project rises anew.
https://github.com/bdr-pro/localmonero

Last synced: about 1 month ago
JSON representation

A new journey begins, For peer-to-peer comrades, When LocalMonero's light fades, Our project rises anew.

Awesome Lists containing this project

README

        

# OpenMoneroP2P.store

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.

## Features

- **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.

## Technology Stack

- **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

## Installation

### Prerequisites

- Python 3.8+
- Django 3.0+
- Docker (for containerization)
- Node.js and npm (for frontend development)
- Monero daemon and wallet RPC setup

### Setting Up the Project

1. **Clone the Repository**

```bash
git clone https://github.com/bdr-pro/localmonero.git
cd OpenMoneroP2P.store
```

2. **Install Dependencies**

```bash
pip install -r requirements.txt
```

3. **Setup Environment Variables**

Create a `.env` by change template.env file and add the necessary environment variables.

```bash
MONERO_RPC_HOST=localhost
MONERO_RPC_PORT=18083
MONERO_RPC_USER=user
MONERO_RPC_PASSWORD=password
```

4. **Apply Migrations**

```bash
python manage.py migrate
```

5. **Create a Superuser**

```bash
python manage.py createsuperuser
```

6. **Run the Development Server**

```bash
python manage.py runserver
```

### Docker Setup

1. **Build Docker Image**

```bash
docker build -t openmonerop2p .
```

2. **Run Docker Container**

```bash
docker run -d -p 8000:8000 --env-file .env openmonerop2p
```

## Usage

### User Registration and Login

Users can sign up and log in to create trade offers and initiate transactions.

### Creating Trade Offers

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.

### Initiating and Completing Transactions

- **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.

### Monero Wallet Integration

The platform integrates with Monero wallets using the Monero RPC API to generate deposit addresses and facilitate withdrawals directly between users.

## Security Features

- **SSL/TLS**: Secure communication using SSL/TLS.
- **2FA**: Two-factor authentication for user accounts.(Soon)

## Contributing

We welcome contributions from the community! Please follow these steps to contribute:

1. **Fork the Repository**

2. **Create a Feature Branch**

```bash
git checkout -b feature/your-feature
```

3. **Commit Your Changes**

```bash
git commit -m "Add your feature"
```

4. **Push to the Branch**

```bash
git push origin feature/your-feature
```

5. **Create a Pull Request**

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Contact

For any questions or support, please open an issue