- Polymarket के गैर-खेल yes/no मार्केट्स में अपने-आप सिर्फ ‘No’ पोज़िशन खरीदने वाला एक asynchronous Python बॉट, जिसे मनोरंजन के उद्देश्य से उपलब्ध कराया गया है
- paper trading और live trading मोड अलग हैं, और live trading के लिए कई environment variables और private key सेटिंग्स अनिवार्य हैं
- dashboard interface के ज़रिए स्थिति मॉनिटर की जा सकती है, और order submission सक्षम होने पर real-time recovery state सेव की जाती है
- Heroku deployment scripts शामिल हैं, जो ऐप की स्थिति जांचने, logs देखने, live trading चालू करने, और process बंद करने जैसे कामों को automate करते हैं
- testing और data management tools शामिल हैं, इसलिए इसे local और cloud दोनों environments में सुरक्षित रूप से चलाया और verify किया जा सकता है
अवलोकन
- Nothing Ever Happens Polymarket प्लेटफ़ॉर्म के गैर-खेल yes/no मार्केट्स में हमेशा ‘No’ पोज़िशन खरीदने वाला asynchronous Python-आधारित बॉट है
- इसे मनोरंजन के उद्देश्य से उपलब्ध कराया गया है, और बिना किसी वारंटी या ज़िम्मेदारी के, उपयोगकर्ता के अपने जोखिम पर चलाया जाता है
- repository
bot/, scripts/, tests/ directories से बनी है, जिनमें क्रमशः trading logic, operations scripts, और test code शामिल हैं
runtime संरचना
- runtime स्वतंत्र मार्केट्स को स्कैन करता है, और सेट की गई price ceiling से नीचे वाले ‘No’ entries को खोजकर पोज़िशन को ट्रैक करता है
- dashboard के माध्यम से स्थिति दिखाई जाती है, और यदि order submission सक्षम हो तो real-time recovery state सेव की जाती है
- execution module
nothing_happens है, और निष्क्रिय मोड में PaperExchangeClient का उपयोग किया जाता है
safety model
- वास्तविक orders भेजने के लिए नीचे दिए गए तीनों environment variables सेट होना ज़रूरी है
BOT_MODE=live
LIVE_TRADING_ENABLED=true
DRY_RUN=false
- ऊपर की शर्तों में से एक भी न होने पर यह paper trading mode में बदल जाता है
- live trading mode में अतिरिक्त रूप से ये environment variables भी चाहिए
PRIVATE_KEY
FUNDER_ADDRESS (signature type 1, 2 के लिए)
DATABASE_URL
POLYGON_RPC_URL (proxy wallet approval और redemption के लिए)
setup और configuration
- installation के लिए
pip install -r requirements.txt चलाने के बाद example config file को कॉपी करके local configuration के रूप में इस्तेमाल किया जाता है
config.json में गैर-गोपनीय runtime settings होती हैं, जबकि .env में secret keys और execution flags होते हैं
- runtime settings
strategies.nothing_happens के अंतर्गत होती हैं, और CONFIG_PATH environment variable से किसी दूसरे config file को चुना जा सकता है
local execution
- local में
python -m bot.main कमांड से इसे चलाया जा सकता है
- dashboard
$PORT या DASHBOARD_PORT environment variable से bind होता है
Heroku deployment workflow
- Heroku environment में
HEROKU_APP_NAME का उपयोग किया जाता है या explicit app name argument दिया जाता है
- दिए गए scripts:
alive.sh: ऐप की स्थिति जांचना
logs.sh: logs देखना
live_enabled.sh / live_disabled.sh: live trading mode बदलना
kill.sh: process बंद करना
- सामान्य deployment प्रक्रिया इस प्रकार है
- environment variables सेट करना (
BOT_MODE, DRY_RUN, LIVE_TRADING_ENABLED, PRIVATE_KEY, FUNDER_ADDRESS, POLYGON_RPC_URL, DATABASE_URL)
git push heroku <branch>:main
heroku ps:scale web=1 worker=0
worker process को अगर अनजाने में चल जाए तो जल्दी fail होने के लिए डिज़ाइन किया गया है
परीक्षण
- tests
pytest का उपयोग करके unit और regression verification करते हैं
- कमांड:
python -m pytest -q
शामिल scripts
-
scripts/db_stats.py
- real-time database tables की संख्या और हाल की activity की जांच
-
scripts/export_db.py
DATABASE_URL या Heroku app से tables export करना
-
scripts/wallet_history.py
- configured wallet की positions, trades, और balance देखना
-
scripts/parse_logs.py
- Heroku JSON logs को terminal या HTML format में convert करना
repository management
- local settings, ledgers, exported data, reports, और deployment artifacts को default रूप से git से बाहर रखा जाता है
- repository को production environment और local environment को साफ़ तौर पर अलग रखने के लिए संरचित किया गया है
अभी कोई टिप्पणी नहीं है.