chore: refactor logging module, update genesis timestamp, remove model relationships, and reorganize routers

- Rename logging.py to logger.py and update import paths in poa.py and main.py
- Update devnet genesis timestamp to 1766828620
- Remove SQLModel Relationship declarations from Block, Transaction, and Receipt models
- Add SessionDep type alias and get_session dependency in coordinator-api deps
- Reorganize coordinator-api routers: replace explorer/registry with exchange, users, marketplace
This commit is contained in:
oib
2025-12-28 21:05:53 +01:00
parent cdaf1122c3
commit ff5486fe08
146 changed files with 33301 additions and 219 deletions

141
BITCOIN-WALLET-SETUP.md Normal file
View File

@ -0,0 +1,141 @@
# Bitcoin Wallet Integration for AITBC Trade Exchange
## Overview
The AITBC Trade Exchange now supports Bitcoin payments for purchasing AITBC tokens. Users can send Bitcoin to a generated address and receive AITBC tokens after confirmation.
## Current Implementation
### Frontend Features
- **Payment Request Generation**: Users enter the amount of AITBC they want to buy
- **Dynamic QR Code**: A QR code is generated with the Bitcoin address and amount
- **Payment Monitoring**: The system automatically checks for payment confirmation
- **Real-time Updates**: Users see payment status updates in real-time
### Backend Features
- **Payment API**: `/api/exchange/create-payment` creates payment requests
- **Status Tracking**: `/api/exchange/payment-status/{id}` checks payment status
- **Exchange Rates**: `/api/exchange/rates` provides current BTC/AITBC rates
## Configuration
### Bitcoin Settings
```python
BITCOIN_CONFIG = {
'testnet': True, # Using Bitcoin testnet
'main_address': 'tb1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh',
'exchange_rate': 100000, # 1 BTC = 100,000 AITBC
'min_confirmations': 1,
'payment_timeout': 3600 # 1 hour expiry
}
```
### Environment Variables
```bash
BITCOIN_TESTNET=true
BITCOIN_ADDRESS=tb1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
BITCOIN_PRIVATE_KEY=your_private_key
BLOCKCHAIN_API_KEY=your_blockchain_api_key
WEBHOOK_SECRET=your_webhook_secret
MIN_CONFIRMATIONS=1
BTC_TO_AITBC_RATE=100000
```
## How It Works
1. **User Initiates Purchase**
- Enters AITBC amount or BTC amount
- System calculates the conversion
- Creates a payment request
2. **Payment Address Generated**
- Unique payment address (demo: uses fixed address)
- QR code generated with `bitcoin:` URI
- Payment details displayed
3. **Payment Monitoring**
- System checks blockchain every 30 seconds
- Updates payment status automatically
- Notifies user when confirmed
4. **Token Minting**
- Upon confirmation, AITBC tokens are minted
- Tokens credited to user's wallet
- Transaction recorded
## Security Considerations
### Current (Demo) Implementation
- Uses a fixed Bitcoin testnet address
- No private key integration
- Manual payment confirmation for demo
### Production Requirements
- HD wallet for unique address generation
- Blockchain API integration (Blockstream, BlockCypher, etc.)
- Webhook signatures for payment notifications
- Multi-signature wallet support
- Cold storage for funds
## API Endpoints
### Create Payment Request
```http
POST /api/exchange/create-payment
{
"user_id": "user_wallet_address",
"aitbc_amount": 1000,
"btc_amount": 0.01
}
```
### Check Payment Status
```http
GET /api/exchange/payment-status/{payment_id}
```
### Get Exchange Rates
```http
GET /api/exchange/rates
```
## Testing
### Testnet Bitcoin
- Use Bitcoin testnet for testing
- Get testnet Bitcoin from faucets:
- https://testnet-faucet.mempool.co/
- https://coinfaucet.eu/en/btc-testnet/
### Demo Mode
- Currently running in demo mode
- Payments are simulated
- Use admin API to manually confirm payments
## Next Steps
1. **Production Wallet Integration**
- Implement HD wallet (BIP32/BIP44)
- Connect to mainnet/testnet
- Secure private key storage
2. **Blockchain API Integration**
- Real-time transaction monitoring
- Webhook implementation
- Confirmation tracking
3. **Enhanced Security**
- Multi-signature support
- Cold storage integration
- Audit logging
4. **User Experience**
- Payment history
- Refund mechanism
- Email notifications
## Support
For issues or questions:
- Check the logs: `journalctl -u aitbc-coordinator -f`
- API documentation: `https://aitbc.bubuit.net/api/docs`
- Admin panel: `https://aitbc.bubuit.net/admin/stats`