• XSS.stack #1 – первый литературный журнал от юзеров форума

Где найти все адреса ERC-20 по маске?

TOPCHEK

Bruteforce
Пользователь
Регистрация
25.12.2022
Сообщения
311
Решения
2
Реакции
314
Гарант сделки
1
Мне нужно найти все адреса из блокчейна которые начинаются на 0x55555
Какие есть способы спарсить все адреса? Желательно с отображением их балансов и количеством транзакций.
Без скачивания чего-либо.
Главное чтобы с транзакциями были.

Есть такие сайты для поиска по шаблону адресов?
 
Начни с этого, а дальше если нужны балансы нужно чекером проверить полученные адреса

JavaScript:
npm install ethers@5.7.2 --save

JavaScript:
const { ethers } = require('ethers');
const fs = require('fs');
// URL провайдера Ethereum, например, Infura, Alchemy или другой RPC-сервер
const provider = new ethers.providers.JsonRpcProvider('https://1rpc.io/eth');
// Хранение уникальных адресов
const uniqueAddresses = new Set();
// Функция для проверки адреса, начинается ли он с 0x55555
function checkAddress(address) {
    return address && address.toLowerCase().startsWith('0x55555');
}
// Функция для обработки транзакций блока
async function processBlock(blockNumber) {
    try {
        const block = await provider.getBlockWithTransactions(blockNumber);
        console.log(`Проверяем блок #${blockNumber}, транзакций: ${block.transactions.length}`);
        for (let tx of block.transactions) {
            if (tx.from && checkAddress(tx.from) && !uniqueAddresses.has(tx.from)) {
                console.log(`Найден уникальный адрес отправителя: ${tx.from}`);
                uniqueAddresses.add(tx.from);  // Добавляем адрес в Set
            }
            if (tx.to && checkAddress(tx.to) && !uniqueAddresses.has(tx.to)) {
                console.log(`Найден уникальный адрес получателя: ${tx.to}`);
                uniqueAddresses.add(tx.to);  // Добавляем адрес в Set
            }
        }
        // Записываем уникальные адреса в файл
        if (uniqueAddresses.size > 0) {
            fs.writeFileSync('addresses.txt', Array.from(uniqueAddresses).join('\n'), 'utf8');
        }
    } catch (err) {
        console.error(`Ошибка при обработке блока #${blockNumber}:`, err);
    }
}
// Главная функция для старта поиска
async function main() {
    try {
        const latestBlock = await provider.getBlockNumber();  // Получаем последний блок через RPC
        console.log(`Последний блок: ${latestBlock}`);
        // Цикл для проверки блоков по убыванию
        for (let blockNumber = latestBlock; blockNumber >= 0; blockNumber--) {
            await processBlock(blockNumber);
            // Задержка между блоками, чтобы не перегружать провайдера
            await new Promise(resolve => setTimeout(resolve, 200));
        }
    } catch (err) {
        console.error('Ошибка выполнения скрипта:', err);
    }
}
// Запуск скрипта
main();
 
Начни с этого, а дальше если нужны балансы нужно чекером проверить полученные адреса

JavaScript:
npm install ethers@5.7.2 --save

JavaScript:
const { ethers } = require('ethers');
const fs = require('fs');
// URL провайдера Ethereum, например, Infura, Alchemy или другой RPC-сервер
const provider = new ethers.providers.JsonRpcProvider('https://1rpc.io/eth');
// Хранение уникальных адресов
const uniqueAddresses = new Set();
// Функция для проверки адреса, начинается ли он с 0x55555
function checkAddress(address) {
    return address && address.toLowerCase().startsWith('0x55555');
}
// Функция для обработки транзакций блока
async function processBlock(blockNumber) {
    try {
        const block = await provider.getBlockWithTransactions(blockNumber);
        console.log(`Проверяем блок #${blockNumber}, транзакций: ${block.transactions.length}`);
        for (let tx of block.transactions) {
            if (tx.from && checkAddress(tx.from) && !uniqueAddresses.has(tx.from)) {
                console.log(`Найден уникальный адрес отправителя: ${tx.from}`);
                uniqueAddresses.add(tx.from);  // Добавляем адрес в Set
            }
            if (tx.to && checkAddress(tx.to) && !uniqueAddresses.has(tx.to)) {
                console.log(`Найден уникальный адрес получателя: ${tx.to}`);
                uniqueAddresses.add(tx.to);  // Добавляем адрес в Set
            }
        }
        // Записываем уникальные адреса в файл
        if (uniqueAddresses.size > 0) {
            fs.writeFileSync('addresses.txt', Array.from(uniqueAddresses).join('\n'), 'utf8');
        }
    } catch (err) {
        console.error(`Ошибка при обработке блока #${blockNumber}:`, err);
    }
}
// Главная функция для старта поиска
async function main() {
    try {
        const latestBlock = await provider.getBlockNumber();  // Получаем последний блок через RPC
        console.log(`Последний блок: ${latestBlock}`);
        // Цикл для проверки блоков по убыванию
        for (let blockNumber = latestBlock; blockNumber >= 0; blockNumber--) {
            await processBlock(blockNumber);
            // Задержка между блоками, чтобы не перегружать провайдера
            await new Promise(resolve => setTimeout(resolve, 200));
        }
    } catch (err) {
        console.error('Ошибка выполнения скрипта:', err);
    }
}
// Запуск скрипта
main();
Этим скриптом чтобы весь блокчейн сграбить уйдут миллионы лет
 
Адреса и их балансы, дальше регулярку ^55555
Хоть я и просил без скачивания чего-либо, но раз уж пошло на это дело, мне не нужно со скоростью 10 КБ/с
1726772601428.png
 
Хоть я и просил без скачивания чего-либо, но раз уж пошло на это дело, мне не нужно со скоростью 10 КБ/с
Посмотреть вложение 95292
там ключ можно купить, наверное
там 2 линка, с ограничением скорости и без
 
Последнее редактирование:
Этим скриптом чтобы весь блокчейн сграбить уйдут миллионы лет
Миллионы лет уйдут если юзать один RPC, возьми к примеру разных 10 RPC и запусти к примеру 10 потоков
 
Хоть я и просил без скачивания чего-либо, но раз уж пошло на это дело, мне не нужно со скоростью 10 КБ/с
Посмотреть вложение 95292
Не в обиду будет сказано, но пытаются предлагать варианты, да ещё и бесплатные, а ты(вы) нос воротишь.

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

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


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх