354 lines
7.4 KiB
Markdown
354 lines
7.4 KiB
Markdown
# Crypto Features Installation Guide
|
|
|
|
## Quick Install (2 minutes)
|
|
|
|
```bash
|
|
# Navigate to project directory
|
|
cd /Users/nguyenminhduc/Desktop/TradingAgents
|
|
|
|
# Install crypto dependencies
|
|
pip install ccxt glassnode python-dotenv
|
|
|
|
# Verify installation
|
|
python -c "import ccxt; print('CCXT version:', ccxt.__version__)"
|
|
|
|
# Run test suite
|
|
python test_crypto_data.py
|
|
```
|
|
|
|
## Expected Output
|
|
|
|
```
|
|
================================================================================
|
|
CRYPTO DATA INFRASTRUCTURE TEST SUITE - PHASE 1
|
|
================================================================================
|
|
|
|
✅ CCXT: PASSED
|
|
✅ MESSARI: PASSED
|
|
⚠️ GLASSNODE: SKIPPED (API key required)
|
|
|
|
Results: 2/2 tests passed
|
|
|
|
🎉 All crypto data tests passed! Phase 1 implementation complete.
|
|
```
|
|
|
|
## Detailed Installation
|
|
|
|
### Step 1: Check Python Version
|
|
|
|
```bash
|
|
python --version
|
|
# Should be Python 3.9 or higher
|
|
```
|
|
|
|
### Step 2: Install Dependencies
|
|
|
|
```bash
|
|
pip install ccxt
|
|
pip install glassnode
|
|
pip install python-dotenv
|
|
```
|
|
|
|
Or install all at once:
|
|
```bash
|
|
pip install ccxt glassnode python-dotenv
|
|
```
|
|
|
|
### Step 3: Verify Installation
|
|
|
|
```bash
|
|
# Test CCXT
|
|
python -c "import ccxt; exchange = ccxt.binance(); print(exchange.fetch_ticker('BTC/USDT'))"
|
|
|
|
# Test imports
|
|
python -c "from tradingagents.dataflows.ccxt_vendor import get_crypto_ohlcv; print('✅ Imports OK')"
|
|
```
|
|
|
|
### Step 4: Set Up API Keys (Optional)
|
|
|
|
```bash
|
|
# Copy example env file
|
|
cp .env.example .env
|
|
|
|
# Edit .env with your API keys (only if you need them)
|
|
# For basic usage, you DON'T need any API keys!
|
|
```
|
|
|
|
## What Works Without API Keys?
|
|
|
|
✅ **CCXT** - All public market data
|
|
- Price data (OHLCV)
|
|
- Tickers
|
|
- Order books
|
|
- Recent trades
|
|
- All exchanges
|
|
|
|
✅ **Messari** - Basic data
|
|
- Asset profiles
|
|
- Tokenomics
|
|
- News
|
|
- Market metrics
|
|
|
|
❌ **Glassnode** - Requires paid API key
|
|
- On-chain metrics
|
|
- Whale activity
|
|
- Exchange flows
|
|
|
|
## Testing Your Installation
|
|
|
|
### Test 1: Basic Connectivity
|
|
|
|
```bash
|
|
python test_crypto_data.py
|
|
```
|
|
|
|
### Test 2: Run Examples
|
|
|
|
```bash
|
|
python examples/crypto_analysis_example.py
|
|
```
|
|
|
|
### Test 3: Quick Python Test
|
|
|
|
```python
|
|
# test_quick.py
|
|
from tradingagents.dataflows.ccxt_vendor import get_crypto_ticker
|
|
|
|
# Get Bitcoin price
|
|
ticker = get_crypto_ticker("BTC/USDT", "binance")
|
|
print(ticker)
|
|
```
|
|
|
|
Run it:
|
|
```bash
|
|
python test_quick.py
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Error: ModuleNotFoundError: No module named 'ccxt'
|
|
|
|
**Solution**:
|
|
```bash
|
|
pip install ccxt --upgrade
|
|
```
|
|
|
|
### Error: SSL Certificate Verify Failed
|
|
|
|
**Solution** (macOS):
|
|
```bash
|
|
/Applications/Python\ 3.x/Install\ Certificates.command
|
|
```
|
|
|
|
Or:
|
|
```bash
|
|
pip install certifi
|
|
```
|
|
|
|
### Error: Exchange Connection Timeout
|
|
|
|
**Solutions**:
|
|
1. Check internet connection
|
|
2. Try different exchange:
|
|
```python
|
|
get_crypto_ticker("BTC/USDT", "coinbase")
|
|
```
|
|
3. Check if exchange is down: https://status.binance.com/
|
|
|
|
### Error: Rate Limit Exceeded
|
|
|
|
**Solution**: CCXT automatically handles rate limits. If you see this, wait a few seconds and retry.
|
|
|
|
### Import Error: tradingagents not found
|
|
|
|
**Solution**: Run from project root:
|
|
```bash
|
|
cd /Users/nguyenminhduc/Desktop/TradingAgents
|
|
python test_crypto_data.py
|
|
```
|
|
|
|
## Advanced Setup
|
|
|
|
### Using Virtual Environment (Recommended)
|
|
|
|
```bash
|
|
# Create virtual environment
|
|
python -m venv venv
|
|
|
|
# Activate
|
|
source venv/bin/activate # macOS/Linux
|
|
# or
|
|
venv\Scripts\activate # Windows
|
|
|
|
# Install dependencies
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### Installing from requirements.txt
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
This will install all dependencies including:
|
|
- ccxt (crypto exchange integration)
|
|
- glassnode (on-chain analytics)
|
|
- python-dotenv (environment variables)
|
|
- All existing TradingAgents dependencies
|
|
|
|
## API Key Setup (Optional)
|
|
|
|
### Get API Keys
|
|
|
|
**CCXT (for trading - not needed for data)**:
|
|
- Binance: https://www.binance.com/en/my/settings/api-management
|
|
- Coinbase: https://www.coinbase.com/settings/api
|
|
- Kraken: https://www.kraken.com/u/security/api
|
|
|
|
**Glassnode (for on-chain data)**:
|
|
- Sign up: https://studio.glassnode.com/
|
|
- Plans start at $30/month
|
|
|
|
**Messari (optional - free tier available)**:
|
|
- Sign up: https://messari.io/api
|
|
- Free tier: 20 requests/minute
|
|
|
|
### Configure .env File
|
|
|
|
```bash
|
|
# .env
|
|
BINANCE_API_KEY=your_actual_api_key_here
|
|
BINANCE_API_SECRET=your_actual_secret_here
|
|
|
|
GLASSNODE_API_KEY=your_glassnode_key_here
|
|
MESSARI_API_KEY=your_messari_key_here
|
|
```
|
|
|
|
**⚠️ Important**: Never commit .env file to git!
|
|
|
|
## Verifying Everything Works
|
|
|
|
### Complete Verification Script
|
|
|
|
```python
|
|
# verify_install.py
|
|
import sys
|
|
|
|
def verify():
|
|
print("Checking crypto installation...\n")
|
|
|
|
# Test 1: CCXT
|
|
try:
|
|
import ccxt
|
|
print("✅ CCXT installed:", ccxt.__version__)
|
|
except ImportError:
|
|
print("❌ CCXT not installed")
|
|
return False
|
|
|
|
# Test 2: Connectivity
|
|
try:
|
|
exchange = ccxt.binance()
|
|
ticker = exchange.fetch_ticker('BTC/USDT')
|
|
print(f"✅ Exchange connectivity OK (BTC price: ${ticker['last']:,.2f})")
|
|
except Exception as e:
|
|
print(f"❌ Exchange connectivity failed: {e}")
|
|
return False
|
|
|
|
# Test 3: Imports
|
|
try:
|
|
from tradingagents.dataflows.ccxt_vendor import get_crypto_ohlcv
|
|
from tradingagents.dataflows.messari_vendor import get_crypto_fundamentals_messari
|
|
print("✅ TradingAgents crypto modules OK")
|
|
except ImportError as e:
|
|
print(f"❌ Import failed: {e}")
|
|
return False
|
|
|
|
print("\n🎉 Installation verified! Ready to use crypto features.")
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
success = verify()
|
|
sys.exit(0 if success else 1)
|
|
```
|
|
|
|
Run it:
|
|
```bash
|
|
python verify_install.py
|
|
```
|
|
|
|
## Next Steps After Installation
|
|
|
|
1. ✅ Run test suite: `python test_crypto_data.py`
|
|
2. ✅ Try examples: `python examples/crypto_analysis_example.py`
|
|
3. ✅ Read docs: `CRYPTO_QUICK_START.md`
|
|
4. ✅ Start building: Use crypto features in your agents
|
|
|
|
## Common Use Cases
|
|
|
|
### Use Case 1: Fetch BTC Price
|
|
|
|
```python
|
|
from tradingagents.dataflows.ccxt_vendor import get_crypto_ohlcv
|
|
|
|
btc_data = get_crypto_ohlcv("BTC/USDT", timeframe="1d", limit=30)
|
|
print(btc_data)
|
|
```
|
|
|
|
### Use Case 2: Analyze Fundamentals
|
|
|
|
```python
|
|
from tradingagents.dataflows.messari_vendor import get_crypto_fundamentals_messari
|
|
|
|
fundamentals = get_crypto_fundamentals_messari("bitcoin")
|
|
print(fundamentals)
|
|
```
|
|
|
|
### Use Case 3: Enable Crypto Mode
|
|
|
|
```python
|
|
from tradingagents.crypto_config import get_crypto_config
|
|
from tradingagents.dataflows.config import set_config
|
|
|
|
# Switch to crypto configuration
|
|
set_config(get_crypto_config())
|
|
```
|
|
|
|
## Getting Help
|
|
|
|
### Documentation
|
|
- Quick Start: `CRYPTO_QUICK_START.md`
|
|
- Full Docs: `CRYPTO_PHASE1_README.md`
|
|
- Implementation: `CRYPTO_IMPLEMENTATION_SUMMARY.md`
|
|
|
|
### External Resources
|
|
- CCXT Docs: https://docs.ccxt.com/
|
|
- Messari API: https://messari.io/api/docs
|
|
- Glassnode API: https://docs.glassnode.com/
|
|
|
|
### Issues
|
|
- Check test output: `python test_crypto_data.py`
|
|
- Verify imports: `python -c "import ccxt; print('OK')"`
|
|
- Check internet connectivity
|
|
- Review error messages carefully
|
|
|
|
## Uninstallation
|
|
|
|
If you want to remove crypto features:
|
|
|
|
```bash
|
|
# Uninstall packages
|
|
pip uninstall ccxt glassnode python-dotenv
|
|
|
|
# Remove files (optional)
|
|
rm -rf tradingagents/dataflows/ccxt_vendor.py
|
|
rm -rf tradingagents/dataflows/glassnode_vendor.py
|
|
rm -rf tradingagents/dataflows/messari_vendor.py
|
|
rm -rf tradingagents/crypto_config.py
|
|
```
|
|
|
|
**Note**: Existing stock functionality will continue to work.
|
|
|
|
---
|
|
|
|
**Installation complete! You're ready to use crypto features.** 🚀
|