March 14

Monad Software

Введение

Многие уже знают, что у Monad планируется токен. Поэтому нужно хорошо проработать данный проект.

Гайд по активностям в самой сети

Алгоритм действий такой:

  • Получение тестовых токенов в официальном кране.
  • Кран дает токенов на пару транзакций. Поэтому находим тестовый ETH Sepolia и бриджим его через Orbiter в Monad. Далее свапаем весь ETH в MON на Ambient. Теперь у нас много тестовых токенов MON :)
  • После получения достаточного количества токенов MON наша цель как можно больше взаимодействовать с различными платформами в экосистеме Monad

Функционал софта

0. Проверка балансов во всех сетях

Base, Optimism, Ethereum, ArbitrumOne, Scroll, Sepolia, Monad, Sahara

1. Получение тестовых токенов с официального крана.

Можно настроить зацикленную работу софта на получение токенов. Например: получать токены на аккаунты раз в 12-15 часов

2. Бридж ETH из Sepolia в Monad. Дальнейший свап ETH в MON

Для большого количества MON

3. Swap во все возможные токены и обратно на:
- Ambient
- Izumi
- Bean
- Octo

4. Stake MON на платформах:
- Apriori
- Magma
- Kinstu
- Shmonad

5. Mint NFT на Madgic Eden

Вставляете контракты нфт в конфиге и софт будет минтить их

6. Deploy Smartcontract (Чтобы отличаться от толпы)

7. Mint Domain на Nad Name

8. Автоматизированная игра Shmonad Game.

Идеально подойдет для набивания количества транзакций

9. Свапнуть все токены в MON

10. Анстейкнуть все возможные позиции

11. Режим Рандом. Делает случайно какое то действие из списка, настроенного в конфиге

12. Автоматизированная игра Monad Pizza Game.

Идеально подойдет для набивания количества транзакций

Софт работает асинхронно, многопоточно с возможностью гибких настроек в конфиге

Гайд по запуску софта начинается здесь

В данной статье я хочу с самого нуля показать как запускать софт на Python.

Шаг 1

  • Заходим на официальный сайт и скачиваем нужную нам версию Python, у меня 3.10.10;
  • При установке обязательно ставим галочку Add Python to PATH;
У вас появится такое окошко. Здесь ставим обе галочки снизу, чтобы можно было спокойно вызывать Python из консоли

Шаг 2

  • Скачиваем софт
  • Когда скачали ZIP-файл переносим папку на рабочий стол

Шаг 3

  • Скачиваем Visual Studio Code - приложение для запуска кода. После скачивания запускаем и видим такое окно.
  • "Жмакаем" на Open Folder и выбираем нашу папку на рабочем столе
  • После скачиваем Python расширение для сборки кода.
  • Открываем в левом меню последнюю иконку.
  • Вбиваем в поиск "python". И скачиваем первое расширение

Шаг 4

Установка всех зависимостей для работы софта

  1. Скачиваете архив и добавляете в редактор кода cd "путь к папке с софтом"
  2. В консоли прописываете команды
  3. python -m venv venv
./venv/Scripts/activate # Windows
source venv/bin/activate # Unix/MacOS

4. Устанавливаете зависимости pip install -r requirements.txt

addresses.txt

Пока устанавливается расширение займемся настройкой скрипта

Для начала нужно вставить приватные ключи в файл addresses.txt

Ваши приватные ключи никуда не отправляются. Они находятся только на Вашем ПК!

Приватные ключи берутся в кошельке:

На примере Метамаска:

Реквизиты счета -> Показать приватный ключ -> Вводим пароль -> Копируем ключ

ОЧЕНЬ ВАЖНО ПРАВИЛЬНО ВСТАВИТЬ ПРИВАТНЫЕ КЛЮЧИ!!

Перед тем, как вставить ТО, что вы скопировали из Метамаска, нужно добавить "0x", а после этого уже вставляете ТО, что копировали

ВОТ ТАК!

proxies.txt

Вставляем прокси в формате:

username:password@ip:port

domains.txt

Для минта доменов на Nad Name нужно вставить в этот файл домены

Формат:

config.py

Настраиваем конфиг

Файл настроек имеет название "config.py"

NETWORK - можно узнать баланс в этих сетях → Base, Optimism, Ethereum, ArbitrumOne, Scroll, Sepolia, Monad, Sahara

RPC - ссылки на рпс в каждой сети, если рпс не работает и выбиваются соответствующие ошибки, то их можно заменить

BROWSER_PAUSE_MULTIPLIER - мультипликатор задержки во время крана, по умолчанию стоит 2, если начинаются ошибки можно увеличить

HEADLESS - True браузер будет скрыт во время крана, False браузер будет виден(не рекомендуется ставить False)

MODULES - список модулей, которые будут работать при запуске командой python main.py random, можете убирать/добавлять модули по вашему предпочтению

MONAD_MIN_MON_BALANCE - минимальный баланс MON для того чтобы начал работать скрипт с текущим акком, если будет меньше он его скипнет

MONAD_SWAP_DAPPS - список модулей, которые будут работать при запуске командой python main.py swap, можете убирать/добавлять модули по вашему предпочтению

MONAD_STAKE_DAPPS - список модулей, которые будут работать при запуске командой python main.py staking, можете убирать/добавлять модули по вашему предпочтению

ATTEMPTS_NUMBER_RESTORE - количество попыток при ошибке

THREADS - количество потоков, параллельной работы кошельков

SHUFFLE - перемешивать ли кошельки, указывать True или False

SHUFFLE_DOMAINS - перемешивать ли домены в файле, указывать True или False

RANGE_DELAY_BETWEEN_THREADS - диапазон времени задержки между потоками

RANGE_DELAY_BETWEEN_TX - диапазон времени задержки между транзакциями внутри потока

RANGE_DELAY_BETWEEN_ATTEMPTS - диапазон времени задержки между попытками при ошибке

RANGE_DELAY_BETWEEN_CLAIM_FAUCETS - диапазон времени задержки между повторном запуске активности на кране при запуске команды python main.py infinity_faucet

ETH_SEPOLIA_MIN_BALANCE - минимальный допустимый баланс в сеполии при бридже с сеполии в монад при запуске команды python main.py orbiter_bridge

RANGE_DELAY_BETWEEN_BRIDGE_AND_SWAP - диапазон времени задержки между бриджом и свапом при запуске команды python main.py orbiter_bridge

RANGE_AMOUNT_BRIDGE_SEPOLIA - диапазон обьема ETH для бриджа с сеполии в монад при запуске команды python main.py orbiter_bridge

RANGE_AMOUNT_STAKE - диапазон обьема MON для стейка при запуске команды python main.py staking

RANGE_AMOUNT_SWAP - диапазон обьема MON для свапов при запуске команды python main.py swap

В этих командах есть 2 варианта как можно указать обьем:

  1. [0.01, 0.02] - диапазон обьемов токенов MON при свапах(в примере от 0.01 MON/ETH до 0.02 MON/ETH)
  2. ['10', '15'] - диапазон процента токенов при свапах(в примере 10-15 процентов)

COUNT_TX - дипазон транзакций при запуске активностей

API_KEY_CAPSOLVER - при кране обязательно надо вставить апи ключ с CAPSOLVER сервиса

CONTRACTS_MADGIC_EDEN - можно вставить любой смарт-контракт бесплатной нфт, вставлять надо как в примере, можно как добавлять так и убирать смарт-контракт нфт

START_DELAY_SHMONAD_GAME - диапазон задержки времени перед запуском каждого потока при команде python main.py shmonad_game

RANGE_DELAY_BETWEEN_SHMONAD_GAME - диапазон задержки времени между транзакциями при команде python main.py shmonad_game

COUNT_OF_GAME - диапазон количества транзакций при запуске команды python main.py shmonad_game

Весь диапазон по времени указывается в секундах

Команды для запуска

   `python main.py balance`              : Проверка баланса
   `python main.py faucet`               : Официаьлный кран, один прогон
   `python main.py infinity_faucet`      : Официальный кран, бесконечный прогон с задержкой которую выставите в конфиге
   `python main.py orbiter_bridge`       : Бридж с Sepolia(ETH)->Monad(ETH) и свап с Monad(ETH)->Monad(MON)
   `python main.py random`               : Рандомный модуль из списка 'Swap' | 'Staking' | 'Mint' | 'Domain' | 'Smartcontract' (можно редактировать в конфиге)
   `python main.py swap`                 : Только свап на свапалках из списка 'Ambient' | 'Izumi' | 'Bean' (можно редактировать в конфиге)
   `python main.py staking`              : Стейкинг в платформах из списка 'Apriori' | 'Kintsu' | 'Magma' (можно редактировать в конфиге)
   `python main.py mint`                 : Минт нфт на MadgicEden
   `python main.py domain`               : Минт домена на Nad (надо вписать домены в domains.txt)
   `python main.py deploy_smartcontract` : Деплой смарт-контракта на Owlto
   `python main.py shmonad_game`         : сыграть в игру Shmonad Game
   `python main.py unstake_all`          : Анстейк все MON
   `python main.py swap_all_tokens`      : Свапнуть все токены в MON
   `python main.py pizza_game`           : Игра Pizza game

Распространенные ошибки

Если видите такую ошибку, то значит время минта бесплатной нфт закончился

Если видите такую ошибку, то значит проблема с rpc монада, надо просто ждать пока нагрузка на сеть упадет или просто ставить больше попыток при ошибке в настройке ATTEMPTS_NUMBER_RESTORE