1 points par GN⁺ 15 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Bot Python asynchrone qui n’achète automatiquement que des positions « No » sur les marchés Polymarket binaires non sportifs, fourni à des fins de divertissement
  • Distingue le mode de trading simulé du mode réel ; en mode réel, plusieurs variables d’environnement et paramètres de clé privée sont indispensables
  • Permet de surveiller l’état via une interface de tableau de bord et, lorsque l’envoi d’ordres est activé, enregistre l’état de reprise en temps réel
  • Inclut des scripts de déploiement Heroku pour automatiser la vérification de l’état de l’application, la consultation des logs, le basculement en mode réel et l’arrêt des processus
  • Comprend des outils de test et de gestion des données, permettant une exécution et une validation sûres en environnement local comme dans le cloud

Aperçu

  • Nothing Ever Happens est un bot asynchrone en Python qui achète toujours des positions « No » sur les marchés Polymarket binaires non sportifs
  • Il est fourni à des fins de divertissement et s’exécute aux risques et périls de l’utilisateur, sans garantie ni responsabilité
  • Le dépôt est structuré en répertoires bot/, scripts/, tests/, qui contiennent respectivement la logique de trading, les scripts d’exploitation et le code de test

Architecture d’exécution

  • À l’exécution, le bot analyse des marchés indépendants et repère les entrées « No » sous un plafond de prix défini afin de suivre les positions
  • Il affiche l’état via un tableau de bord et, si l’envoi d’ordres est activé, enregistre l’état de reprise en temps réel
  • Le module d’exécution est nothing_happens et, en mode inactif, il utilise PaperExchangeClient

Modèle de sécurité

  • Pour envoyer de vrais ordres, les trois variables d’environnement suivantes doivent toutes être définies
    • BOT_MODE=live
    • LIVE_TRADING_ENABLED=true
    • DRY_RUN=false
  • Si l’une de ces conditions manque, le bot bascule en mode de trading simulé
  • En mode réel, les variables d’environnement supplémentaires suivantes sont aussi requises
    • PRIVATE_KEY
    • FUNDER_ADDRESS (pour les types de signature 1 et 2)
    • DATABASE_URL
    • POLYGON_RPC_URL (pour l’approbation du portefeuille proxy et le rachat)

Installation et configuration

  • L’installation se fait avec pip install -r requirements.txt, puis en copiant le fichier de configuration d’exemple pour l’utiliser comme configuration locale
  • config.json contient la configuration d’exécution non secrète, tandis que .env contient les clés secrètes et les drapeaux d’exécution
  • La configuration d’exécution se trouve sous strategies.nothing_happens, et la variable d’environnement CONFIG_PATH permet d’indiquer un autre fichier de configuration

Exécution en local

  • En local, le lancement se fait avec la commande python -m bot.main
  • Le tableau de bord est lié à la variable d’environnement $PORT ou DASHBOARD_PORT

Workflow de déploiement Heroku

  • En environnement Heroku, on utilise HEROKU_APP_NAME ou on passe explicitement le nom de l’application en argument
  • Scripts fournis :
    • alive.sh : vérifie l’état de l’application
    • logs.sh : affiche les logs
    • live_enabled.sh / live_disabled.sh : bascule le mode de trading réel
    • kill.sh : arrête les processus
  • Procédure de déploiement typique :
    • définir les variables d’environnement (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
  • Le processus worker est conçu pour échouer rapidement s’il est lancé par inadvertance

Tests

  • Les tests utilisent pytest pour les vérifications unitaires et de régression
  • Commande : python -m pytest -q

Scripts inclus

  • scripts/db_stats.py

    • vérifie le nombre de tables de la base de données en temps réel et l’activité récente
  • scripts/export_db.py

    • exporte les tables depuis DATABASE_URL ou depuis une application Heroku
  • scripts/wallet_history.py

    • affiche les positions, transactions et soldes du portefeuille configuré
  • scripts/parse_logs.py

    • convertit les logs JSON Heroku en format terminal ou HTML

Gestion du dépôt

  • Les configurations locales, registres, données exportées, rapports, artefacts de déploiement, etc. sont exclus de git par défaut
  • Le dépôt est organisé de manière à séparer clairement l’environnement de production et l’environnement local

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.