Автоматический бот для майнинга $CRUDE токенов на Base через drillcrude.com.
Решает challenges детерминистически (без LLM) — 0 затрат на AI API.
git clone https://github.com/Anda4ka/drillcrude.git
cd drillcrudeWindows:
python -m venv venv
venv\Scripts\activate
pip install aiohttp openai zai-sdkLinux / Mac:
python3 -m venv venv
source venv/bin/activate
pip install aiohttp openai zai-sdkСоздай файл .env в папке проекта. Пример:
BANKR_API_KEY=твой_ключ_от_bankr
DRILLER_ADDRESS=твой_кошелёк_на_BaseГде взять:
BANKR_API_KEY— зарегистрируйся на bankr.bot/api, включи Agent API и отключи read-onlyDRILLER_ADDRESS— твой EVM-кошелёк на Base (можно оставить пустым — определится автоматически)
Важно — укажи свой тир стейкинга:
DRILLER_TIER=platform # wildcat (25M) / platform (50M) / deepwater (100M)Если застейкано 25M — ставь wildcat, 50M — platform, 100M — deepwater. По умолчанию platform.
Опционально:
DRILLER_DEBUG=true # подробные логи
DRILLER_QUIET=true # минимальный вывод (только accepts и ошибки)
LLM_BACKEND=zai # zai (бесплатно) или openrouter — НЕ обязательно
ZAI_API_KEY=ключ # только для LLM fallback (можно не указывать)
TELEGRAM_BOT_TOKEN=токен # уведомления в Telegram (см. ниже)
TELEGRAM_CHAT_ID=id # ID чата для уведомленийLLM не обязателен. Бот решает ~95% challenges детерминистически без AI. Если не указать
ZAI_API_KEYилиOPENROUTER_API_KEY— бот просто пропустит оставшиеся ~5% нерешаемых задач.
Telegram-уведомления (опционально):
Бот может отправлять уведомления о гашерах, ошибках и статистике в Telegram.
- Открой @BotFather в Telegram, отправь
/newbot, следуй инструкциям — получишь токен - Напиши своему боту любое сообщение, затем открой
https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/getUpdates— найди"chat":{"id":123456789}— это твой chat ID - Добавь в
.env:
TELEGRAM_BOT_TOKEN=123456:ABC-DEF...
TELEGRAM_CHAT_ID=123456789Несколько кошельков (опционально):
Можно запустить 2+ кошелька из одного процесса. Добавь в .env:
BANKR_API_KEY_1=ключ_первого_кошелька
DRILLER_ADDRESS_1=0xAAA...
DRILLER_TIER_1=platform
BANKR_API_KEY_2=ключ_второго_кошелька
DRILLER_ADDRESS_2=0xBBB...
DRILLER_TIER_2=wildcatПростой BANKR_API_KEY при этом игнорируется. У каждого кошелька свой файл состояния.
Перед запуском нужно:
- ETH на Base — для газа (~$0.001 за транзакцию)
- $CRUDE токены — минимум 25M для Wildcat tier
- Застейкать $CRUDE — бот не может дриллить без стейка
| Tier | Стейк | Credits/solve | Доступ к сайтам |
|---|---|---|---|
| Wildcat | 25M+ | 1 | Shallow |
| Platform | 50M+ | 2 | Shallow + Medium |
| Deepwater | 100M+ | 3 | Все |
Купить можно через drillcrude.com или вручную через Bankr API.
Авто-стейкинг: Если при первом запуске стейк не обнаружен (ошибка 403), бот предложит застейкать автоматически. Просто нажмите
yи подтвердите.
# Windows
python crude_driller.py
# Linux
python3 crude_driller.py
# Linux в фоне
screen -dmS driller bash -c 'cd ~/driller && source venv/bin/activate && python3 crude_driller.py'
# Подключиться: screen -r driller
# Отключиться: Ctrl+A, DОстановка — Ctrl+C (корректное завершение с сохранением прогресса).
- Выбирает лучший сайт (bonanza > rich > standard, приоритет featured basin)
- Получает challenge, решает его, отправляет ответ
- При реджекте — пробует альтернативные варианты
- Receipt worker — отдельный воркер постит receipts on-chain:
- Всегда запрашивает свежий calldata у координатора (не использует кешированные данные)
- Проверяет статус через
/v1/refine/statusперед постом - Автоматически закрывает gap-рецепты через цепочку
nextPendingCrudeLotId - Если рецепты были потеряны (Bankr вернул success, но TX ревёртнулся) — воркер пройдёт по всем пропущенным
- Ждёт cooldown 30 сек и повторяет
- Каждые 30 мин проверяет и клеймит награды за завершённые эпохи
- Логирует статистику каждые 5 мин
| Файл | Описание |
|---|---|
crude_driller.py |
Основной скрипт |
claim_now.py |
Ручной клейм наград |
.env |
Конфигурация (не коммитить!) |
crude_driller.log |
Лог работы |
crude_driller_state.json |
Сохранённый прогресс (single-wallet) |
crude_driller_state_{addr}.json |
Прогресс per wallet (multi-wallet) |
| Ошибка | Что делать |
|---|---|
Drill cooldown active |
Всё ок — бот ждёт 30 сек автоматически |
wildcat rig cannot access medium wells |
Неправильный DRILLER_TIER в .env. Если 25M стейк — ставь wildcat |
Miner is not eligible |
Нет стейка — бот предложит застейкать автоматически. Или застейкай на drillcrude.com |
Auth 502 |
Координатор временно лежит. Бот retry-ит сам |
Trace must reference the constraint company |
Не та компания — alt-retry попробует другие |
over rate limit / RPC rate limited |
Координатор перегружен — бот ждёт 45 сек и retry |
InvalidSolveIndex |
Gap в on-chain рецептах — receipt worker автоматически закроет через nextPendingCrudeLotId |
Gap receipt: coordinator says post ... first |
Нормально — воркер проходит по пропущенным рецептам перед вашими |
Можно залочить эпохи и получать бонус к кредитам без блокировки токенов:
| Срок | Бонус к кредитам | Black Gold шанс |
|---|---|---|
| 1 эпоха | +8% | 1.15x |
| 3 эпохи | +25% | 1.50x |
| 5 эпох | +50% | 1.90x |
Регистрация через drillcrude.com или API: POST /v1/commitments/enroll.
| Версия | Что нового |
|---|---|
| v6.9 | Receipt lifecycle fix: свежий calldata, автоматическое закрытие gap через nextPendingCrudeLotId, dedicated receipt worker |
| v6.8 | Multi-wallet: несколько кошельков из одного процесса |
| v6.7 | Decimal-парсинг revenue, suffix-stripped name alts, async receipts, настраиваемый тир (DRILLER_TIER) |
| v6.6 | Black Gold events (blowout/jackpot), Epoch 4 фичи, bonus tracking |
| v6.5 | Новый trace формат, inline receipts, 30s cooldown, alt-retry работает |
| v6.4 | I/O оптимизации, VPS support |
| v6.3 | Фильтры вопросов (город/сектор/год), quiet mode |
| v6.2 | Авто-ротация логов, stale drill fix |
| v6.1 | Alt-retry при реджекте |
| v6.0 | Deterministic solver — без LLM |