• 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 को साफ़ तौर पर अलग रखने के लिए संरचित किया गया है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.