Скрипт для автовывода Bitcoin

simkistore

Лучший магазин по продаже SIM-карт!
Сервис
Подтвержденный
Сообщения
253
Реакции
264
Продажи
3
Кешбек
0.43$
Всех приветствую. Взято с соседнего форума, скрипт полностью бесплатен. Источник

Функционал следующий:

Софт почти моментально (мониторит каждую секунду) осуществляет автовывод средств поступивших на отслежваемый адрес.
В настройках можно выставить отдельно с какой периодичностью выполнять мониторинг, по дефолту раз в секунду.
Так же в настройках можно выставить отдельные комиссии для подтвержденных монет и для не подтвержденных. (да, не подтвержденные монеты могут тоже будут сразу же отправлены при поступлении на адрес)
Ну и естественно настраивается минимальная сумма для вывода (значение минимальной суммы единое как для подтвержденных так и для не подтвержденных монет)



0. Требуется Linux

1. Качаем сам кошелек с официального сайта

2. Ложим его в любую папку из которой будет работать автовывод

3. Назначаем права на исполнение

Код:
cd 'путь до ппаки с софтом'

Далее

Код:
sudo chmod +x electrum-4.2.1-x86_64.AppImage

4. Запускаем как обычно и создаем новый кошелек.
Импортируем туда фразу или приватный ключ за которым хотим утсановить мониторинг, если импортируете приватные ключи то их можно вбить сразу несколько.

5. Оставляем кошелек запущенным (во время работы автовывода кошелек всегда должен быть запущен)

6. Создаем в этой же папке текстовик electrum.py

В него помещаем следующий код:
Python:
import os
import sys
import subprocess
import json
import time

MY_BTC_ADDR='АДРЕС'
MIN_BALANCE=0.005
FEE_RATE_CONFIRM=50
FEE_RATE_UNCONFIRM=80

PAUSE=1

ELECTRUM_FILE='./electrum-4.2.1-x86_64.AppImage'

LOG='electrum.log'

def write_log(mess):
    print(mess)
    with open(LOG,'a',encoding='utf8') as f:
        f.write(mess+'\n')

if __name__=='__main__':
    with open(LOG,'w',encoding='utf8'):
        pass

    while True:
        try:
            # get balance
            proc = subprocess.Popen(f"{ELECTRUM_FILE} getbalance", shell=True,stdout=subprocess.PIPE)
            out = proc.communicate()
            d=json.loads(out[0])
            write_log(f'Balance:{d}')

            #check confirmed
            valid_balance=False
            fee=0
            if 'confirmed' in d:
                if float(d['confirmed'])>MIN_BALANCE:
                    valid_balance=True
                    fee=FEE_RATE_CONFIRM

            # check unconfirmed
            if not valid_balance:
                if 'unconfirmed' in d:
                    if float(d['unconfirmed']) > MIN_BALANCE:
                        valid_balance = True
                        fee = FEE_RATE_UNCONFIRM

            if valid_balance:
                # send maximum
                proc = subprocess.Popen(f"{ELECTRUM_FILE} payto {MY_BTC_ADDR} ! --feerate {fee}",shell=True, stdout=subprocess.PIPE)
                out = proc.communicate()
                print(out)
                trn=out[0].decode('utf8').strip()
                write_log(f'Transaction:{trn}')

                # broadcast transaction
                proc = subprocess.Popen(f"{ELECTRUM_FILE} broadcast {trn}",shell=True, stdout=subprocess.PIPE)
                out = proc.communicate()
                print(out)
                res=out[0].decode('utf8').strip()
                write_log(f'Broadcast result:{res}')

        except KeyboardInterrupt:
            print('Stop.')
            break
        except:
            print(f'ERROR {sys.exc_info()}')
        time.sleep(PAUSE)

Зупускаем

Код:
python electrum.py

Все. Теперь при поступлении средств они будут автоматом выведены на указанный вами адрес.

Настройки
Код:
MY_BTC_ADDR='АДРЕС'
MIN_BALANCE=МИНИМАЛЬНЫЙ БАЛАНС ДЛЯ ВЫВОДА НАПРИМЕР 0.005
FEE_RATE_CONFIRM=50 КОМИССИЯ ДЛЯ ПОДТВЕРЖДЕННЫХ МОНЕТ
FEE_RATE_UNCONFIRM=80 КОМИССИЯ ДЛЯ НЕ ПОДТВЕРЖДЕННЫХ МОНЕТ

PAUSE=1 ПАУЗА В СЕКУНДАХ МЕЖДУ ПРОВЕРКАМИ БАЛАНСА

Так же должен сказать что данное решение позволяет мониторить не больше 30-50 приватных ключей. При попытке запихать туда овер дофига приватников вы будите забанены нодами и кошелек не будет с ними соединяться.
 
Назад
Сверху Снизу