# Dmailer

By [Iamhappy2day.eth](https://paragraph.com/@iamhappy2day) · 2023-08-31

---

Dmailer
=======

### Важно!

Данный скрипт предназначен исключительно для отправки дешевых транзакций в zkSync Era и Starknet, используя контракт Dmail. Важно отметить, что скрипт не предполагает взаимодействия с сайтом или сервером Dmail.

### Конфиг:

1.  `STARKNET_RPC_PROVIDER` Это переменная, которая отвечает за приватные RPC в Starknet. Оставьте `None`, если не используете, если используете: то нужно сменить `None` на `"https://ваш-rpc-endpoint"`
    
2.  `USE_PROXY`: Эта переменная определяет, используются ли прокси при отправке транзакций. Если установлено значение `True` (ДАЖЕ ЕСЛИ ИСПОЛЬЗУЕТЕ МОБИЛЬНЫЕ СТАВИТЬ `True`), то программа будет использовать прокси из файла `proxies.txt`. Если установлено значение `False`, прокси не будут использоваться.
    
3.  `USE_MOBILE_PROXY` Эта переменная определяет, используются ли мобильные прокси при отправке транзакций.
    
4.  `USE_MOBILE_PROXY` Если используете мобильные прокси, сюда нужно вставить ссылку для смены IP.
    
5.  `GAS_THRESHOLD`: Это переменная, которая задает пороговое значение стоимости газа в гигавей (GWEI). Если текущая стоимость газа превышает установленное значение `GAS_THRESHOLD`, то выполнение скрипта приостанавливается и ожидает, пока стоимость газа не уменьшится до уровня, допустимого порогового значения.
    
6.  `GAS_DELAY_RANGE`: Это интервал времени в секундах между проверками стоимости газа. Программа периодически проверяет стоимость газа перед отправкой транзакций, чтобы определить, установлена ли она выше `GAS_THRESHOLD`. Интервал задержки позволяет программе ожидать, чтобы избежать частых запросов и нагрузки на сеть.
    
7.  `EVM_PRIVATE_KEYS_PATH`: Это путь к файлу `evm_private_keys.txt`, где хранятся EVM приватные ключи.
    
8.  `STARKNET_PRIVATE_KEYS_PATH`: Это путь к файлу `starknet_private_keys.txt`, где хранятся приватные ключи Starknet.
    
9.  `PROXIES_PATH`: Это путь к файлу `proxies.txt`, в котором содержатся прокси. Если `USE_PROXY` установлено в `True`, программа будет выбирать прокси из этого файла.
    
10.  `TX_COUNT`: Это список, содержащий два значения - минимальное и максимальное количество транзакций, которые будут отправлены с одного аккаунта. Программа будет выбирать случайное число транзакций из этого диапазона.
    
11.  `TX_DELAY_RANGE`: Это интервал времени в секундах между отправкой каждой транзакции с одного аккаунта. Программа будет выбирать случайное значение из этого диапазона задержки перед отправкой каждой следующей транзакции.
    
12.  `MIN_BALANCE`: Это минимальный баланс, при котором будет происходить отправка транзакций. Если баланс меньше указанного, кошелек пропускается.
    
13.  `WALLET_APPLICATION` Принимает значения `"argentx"` либо `"braavos"` - приложение, с помощью которого вы создавали кошельки starknet.
    

### Запуск:

Шаг 1: Установка зависимостей

1.  Откройте командную строку или терминал и перейдите в директорию с вашим проектом: `cd путь/к/проекту`
    
2.  Создайте виртуальное окружение (рекомендуется) или установите зависимости глобально: `python -m venv venv`
    
3.  Активируйте виртуальное окружение: Windows: `.\venv\Scripts\activate` Linux/MacOS: `source venv/bin/activate`
    
4.  Установите зависимости, перечисленные в requirements.txt, выполнив следующие команды:
    

Linux:

    sudo apt install -y libgmp3-dev
    pip install -r requirements.txt
    

MacOS:

    brew install cmake
    brew install gmp
    pip install -r requirements.txt
    

Windows:

    wsl --install
    wsl
    pip install -r requirements.txt
    

Шаг 2: Подготовка данных

1.  В файле `evm_private_keys.txt` запишите приватные ключи для каждого EVM кошелька. Каждый приватный ключ должен быть на отдельной строке.
    
2.  В файле `starknet_private_keys.txt` запишите приватные ключи для каждого Starknet кошелька. Каждый приватный ключ должен быть на отдельной строке.
    
3.  Если вы планируете использовать прокси, в файле `proxies.txt` запишите прокси в формате username:password@ip:port. Каждый адрес прокси должен быть на отдельной строке.
    

Шаг 3: Запуск программы

1.  Откройте командную строку или терминал.
    
2.  Перейдите в директорию, где находится файл `main.py`.
    
3.  Запустите программу, выполнив следующую команду: `python main.py`
    
4.  После запуска `main.py`, программа отобразит приветственное сообщение и будет ожидать ввода от пользователя.
    
5.  Чтобы запустить выполнение программы и начать отправку транзакций, просто нажмите клавишу "Enter" в командной строке или терминале.
    
6.  После нажатия клавиши "Enter", программа начнет выполнять отправку транзакций в соответствии с заданными параметрами и прокси (если они указаны в `proxies.txt`).
    
7.  Чтобы остановить выполнение программы в процессе работы, просто нажмите клавишу "Ctrl + C" в командной строке или терминале.

---

*Originally published on [Iamhappy2day.eth](https://paragraph.com/@iamhappy2day/dmailer)*
