Bitcoin Forum
May 04, 2024, 01:04:00 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: Как проверить баланс 1000+ адресов?  (Read 1776 times)
mitwpb
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
November 25, 2019, 11:22:44 AM
Last edit: November 25, 2019, 11:38:54 AM by mitwpb
 #21

Поднял ноду эфира и полную ноду биткоина со всеми транзакциями txindex, это вышло под 600 Гб
Также поднял реляционную базу и распарсил все транзакции эфира по контрактам итд, длилось это несколько месяцев, весит база под 700 Гб + парсится биткоин сейчас

Что можно делать?
API по поиску транзакций согласно адресу, токен трансферы согласно адресу и.т.д.

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

По деньгам это выходит около 120 евро в месяц за 1 сервер. По хорошему еще базу реплиуировать, а это + еще 60 евро.
+ Тестнет выходит порядка 60 евро.
Дорогое удовольствие для хобби
1714784640
Hero Member
*
Offline Offline

Posts: 1714784640

View Profile Personal Message (Offline)

Ignore
1714784640
Reply with quote  #2

1714784640
Report to moderator
According to NIST and ECRYPT II, the cryptographic algorithms used in Bitcoin are expected to be strong until at least 2030. (After that, it will not be too difficult to transition to different algorithms.)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Balthazar
Legendary
*
Offline Offline

Activity: 3108
Merit: 1358



View Profile
December 03, 2019, 01:24:14 AM
Merited by johhnyUA (1)
 #22

Если нужно проверять именно балансы адресов, массово, то есть очень быстрое решение:

https://github.com/CPPAlliance/NuDB

Подсчитываются балансы для всех существующих адресов, пихаются в NuDB и оттуда потом можно проверять балансы со скоростями порядка 5-10 тысяч адресов в секунду, если процессор осилит. Особенностью движка является так же и то, что скорость его работы никак не зависит от размера базы. Ну а реляционные СУБД слишком громоздки именно для этой задачи, даже SQLite и то будет жестким тормозом.

P.S. Однако же, это не отменяет того, что задача по-прежнему остается бредовой.
a.n.ivannikov
Jr. Member
*
Offline Offline

Activity: 37
Merit: 2


View Profile
January 11, 2020, 07:36:33 PM
 #23

Нужно поднять свой узел сети и синхронизировать балансы с БД

У меня есть миллионы созданных адресов, но сервисы по просмотру баланса работают только максимум на 50 адресов, а мне это надо делать пачками хотя бы по 1000. У кого какие идеи?
Deff
Sr. Member
****
Offline Offline

Activity: 939
Merit: 261

Data HDD Repair - Recovery of lost information


View Profile
February 20, 2020, 07:01:25 PM
 #24

 
  Разработал функцию для подсчета баланса любого адреса, старый кошелек Биткоин,
мне понравилась скорость сканирования. Сегодня сделал изменения позволяющие сканировать блоки
на предмет всех транзакций по всем адресам. Тестировал сейчас на ноутбуке. За тридцать минут 92000
блоков про сканировано, 89500 адресов добавлено.. Работает в отдельном потоке, функционированию
кошелька практически не мешает. Информация о ходе тестирования берется из файла в рабочей папке,
удобно..

Dimakw
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
March 03, 2020, 02:21:11 PM
 #25


  Разработал функцию для подсчета баланса любого адреса, старый кошелек Биткоин,
мне понравилась скорость сканирования. Сегодня сделал изменения позволяющие сканировать блоки
на предмет всех транзакций по всем адресам. Тестировал сейчас на ноутбуке. За тридцать минут 92000
блоков про сканировано, 89500 адресов добавлено.. Работает в отдельном потоке, функционированию
кошелька практически не мешает. Информация о ходе тестирования берется из файла в рабочей папке,
удобно..



Как с Вами связаться?  Ваша программа может составить базу адресов по заданным критериям? Например базу всех бездействующих (зомби)  адресов с положит. балансом от 1 года и старше 8 лет ?  Либо нужен парсер сканить bitinfocharts но у них свои лимиты и сортировка неудобная (тупо 9900 топ рич адресов, посл адрес примерно 160 btc, дальше не показывает) и зомби только топ-100 (посл адрес на 600+ btc, больше нет).
Deff
Sr. Member
****
Offline Offline

Activity: 939
Merit: 261

Data HDD Repair - Recovery of lost information


View Profile
March 05, 2020, 06:52:39 PM
 #26


  Разработал функцию для подсчета баланса любого адреса, старый кошелек Биткоин,
мне понравилась скорость сканирования. Сегодня сделал изменения позволяющие сканировать блоки
на предмет всех транзакций по всем адресам. Тестировал сейчас на ноутбуке. За тридцать минут 92000
блоков про сканировано, 89500 адресов добавлено.. Работает в отдельном потоке, функционированию
кошелька практически не мешает. Информация о ходе тестирования берется из файла в рабочей папке,
удобно..



Как с Вами связаться?  Ваша программа может составить базу адресов по заданным критериям? Например базу всех бездействующих (зомби)  адресов с положит. балансом от 1 года и старше 8 лет ?  Либо нужен парсер сканить bitinfocharts но у них свои лимиты и сортировка неудобная (тупо 9900 топ рич адресов, посл адрес примерно 160 btc, дальше не показывает) и зомби только топ-100 (посл адрес на 600+ btc, больше нет).

  Это не отдельная программа, вставил такую функцию в кошелек. Она не по транзакциям поиск производит а по адресам. Работает довольно просто. Когда адрес идентифицируется в подпапке создается файл с именем этого адреса, в этот же файл сразу пишется разница между входами и выходами взятыми из транзакций пришедшимися на сканируемый блок. Далее если встречается новый адрес создается новый файл а если файл уже имеется из него берется баланс и проводятся дальнейшие вычисления.. И так далее... пока не закончатся все блоки.. Задать границы по возрасту транзакций можно, а вот по балансу нет.. Баланс адресов будет известен только после сканирования всего блокчейна..

The0ldl_lser
Legendary
*
Offline Offline

Activity: 2058
Merit: 1256


⭐⭐⭐⭐⭐⭐


View Profile
March 07, 2020, 06:29:53 AM
 #27

У меня есть миллионы созданных адресов, но сервисы по просмотру баланса работают только максимум на 50 адресов, а мне это надо делать пачками хотя бы по 1000. У кого какие идеи?
Стойте, а почему не попытаться просто импортировать все кошельки в wallet.dat? По идее, после этого клиент должен показывать весь баланс всего пула кошельков (но возможно я ошибаюсь). Посмотрите эту тему, там на какой-то странице описан способ с базой данных похожий на тот что в этой теме предложили.

Неожиданно всплыло желание попробовать в общем то очевидный способ
Запуск
bitcoin-qt.exe -keypool=150000000
выявил следующее
за 1.5 часа нагенерировалось около 1M ключей
объем wallet.dat на этот момент - 600 MБ
За счет NTFS сжатия реальный объем 370 MБ

итог - сабжевая задача должна решиться за ~10 дней  Wink
отпишусь по окончании эксперимента

https://bitcointalk.org/index.php?topic=331477.120

Просто так генерировать пустые кошели - это бред конечно, за тысячу лет ничего не найти, но если есть масса адресов с остаточными балансами - почему бы и нет. Только там возникнет другая проблема - как их потратить объединив в одну транзакцию, при этом не переплачивая за комиссии

mrxtraf
Member
**
Offline Offline

Activity: 255
Merit: 27


View Profile WWW
March 07, 2020, 10:06:14 AM
 #28

Вот именно. Тут главное слово что импортируются "пустые" кошельки.  А когда кошель с транзакциями, то тогда приложение начинает проверять все транзакции, бегая по блокам ищя входы и выходы. Есть конечно оптимизация, но некоторые кошельки даже по одному трудно импортировать, такие у которых под 10к транзакций.
Если кошели с небольшим кол-вом транзакция, то лучше уже в электрум импортировать.
The0ldl_lser
Legendary
*
Offline Offline

Activity: 2058
Merit: 1256


⭐⭐⭐⭐⭐⭐


View Profile
March 07, 2020, 02:04:40 PM
 #29

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

A-Bolt
Legendary
*
Offline Offline

Activity: 2314
Merit: 2302


View Profile
March 07, 2020, 02:58:46 PM
 #30

Стойте, а почему не попытаться просто импортировать все кошельки в wallet.dat? По идее, после этого клиент должен показывать весь баланс всего пула кошельков (но возможно я ошибаюсь).

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

А когда кошель с транзакциями, то тогда приложение начинает проверять все транзакции, бегая по блокам ищя входы и выходы.

Дык, Bitcoin Core не знает заранее были ли транзакции по конкретному импортируемому адресу. Поэтому по-умолчанию при импорте приватного ключа командой importprivkey происходит сканирование всего блокчейна, и только после этого становится понятно: были транзакции или нет. Другое дело, что если написать false в третьем параметре importprivkey, то сканирования не будет, и если до этого момента были транзакции, то не будет видно ни их самих ни их влияния на баланс.
mrxtraf
Member
**
Offline Offline

Activity: 255
Merit: 27


View Profile WWW
March 07, 2020, 04:42:17 PM
 #31

У коре есть параметр для дополнительного индексирования, то есть он в теории после этой индексации знает баланс на каждом кошельке который был в данных, не только о тех которые занесены в сам кошелек. Но вот если импортировать, то корка, начинает искать эти все транзакции, анализиирует блоки на входы и выходы, при это она даже пересчитывает хэи блоков, типа чтобы не было наеб.... Всё это занимает достаточное время, особенно учитывая что корка умеет работать только с одним потоком, многоядерность не используется.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
March 07, 2020, 07:08:05 PM
 #32

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

Баланс не на кошельках, а на адресах. Ничего, кроме возможности отображения всей истории импортируемого адреса, не мешает перебирать только UTXO pool, в котором сегодня ~66 млн. непотраченных выходов.

Balthazar
Legendary
*
Offline Offline

Activity: 3108
Merit: 1358



View Profile
March 08, 2020, 02:22:19 AM
 #33

Неожиданно всплыло желание попробовать в общем то очевидный способ
Запуск
bitcoin-qt.exe -keypool=150000000
выявил следующее
за 1.5 часа нагенерировалось около 1M ключей
объем wallet.dat на этот момент - 600 MБ
За счет NTFS сжатия реальный объем 370 MБ

итог - сабжевая задача должна решиться за ~10 дней  Wink
отпишусь по окончании эксперимента


Если кто-то всё еще собирается всерьез перебирать приватные ключи, то фильтры Блума помогут вам несколько облегчить эту достаточно бессмысленную задачу. Создаете фильтр, забиваете в него hash160 всех интересующих вас адресов с балансами из UTXO. И далее генерируемые адреса сравниваете с фильтром, складывая положительные результаты в кучку для уже непосредственной проверки.

ivankrasnov830
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 11, 2020, 06:34:44 AM
 #34

Обычный php код поможет..Тупо добавляете кошельки в текстовый файл и через php переходите на сайт/адрес и выдергуете из дива или класса с балансом. А вот всю выборку выводите. Буквально за 3-5 минут можно сделать потратив 200 р.
Потом ip могут заблочить, особенно если работать не по api, но просто берете ip6 и через него смотрите.. Они стоят 1 рубль в месяц.
artemium
Jr. Member
*
Offline Offline

Activity: 81
Merit: 5


View Profile
May 06, 2020, 08:03:40 AM
 #35

Можно приватники пачкой грузить в кошелек Electrum. Синхронизируется достаточно быстро.
Lexiko
Sr. Member
****
Offline Offline

Activity: 503
Merit: 283


View Profile
June 02, 2020, 09:52:35 PM
 #36

Для миллиона - нет, тут нужен другой подход: предварительно создать список всех адресов с ненулевыми балансами и проверять вхождение в этот список каждого из миллиона адресов.
Считаю, самое годное решение  вопроса. Если нужно проверить старые адреса, то скорость тут будет просто практически мгновенной.
А существуют ли такие базы в готовом виде? В том числе и для других крипт?

Я вот только знаю в Google BiData есть обновляемая в онлайн база блокчейнов для основных крипт:
crypto_bitcoin
  • blocks
    inputs
    outputs
    transactions
...
crypto_bitcoin_cash
crypto_dash
crypto_dogecoin
crypto_ethereum
crypto_ethereum_classic
crypto_litecoin
crypto_zcash
https://bigquery.cloud.google.com/dataset/bigquery-public-data:crypto_bitcoin

Можно собрать список ненулевых балансов этих крипт  SQL запросом к этой базе. Вот примеры
https://cloud.google.com/blog/products/data-analytics/introducing-six-new-cryptocurrencies-in-bigquery-public-datasets-and-how-to-analyze-them

Стоит это вот так:
You will need to create a project before you can use BigQuery (free). You pay $5 per 1TB of data processed, the first 1TB is free. Google Cloud Platform gives you $300 credit so you can query 60TB of data for free even after you exceeded 1TB limit.

Сам не пробовал, мож у кого есть готовые базы хоть на какую дату? Интересно было бы прогнать старые кошельки через pywallet и эту базу , вдруг что всплывет. Иногда уже и не помнишь, что за кошелек от какой крипты. А так можно все на все проверить.

mrxtraf
Member
**
Offline Offline

Activity: 255
Merit: 27


View Profile WWW
June 03, 2020, 10:14:25 AM
 #37

Я вот только знаю в Google BiData есть обновляемая в онлайн база блокчейнов для основных крипт:
crypto_bitcoin
  • blocks
    inputs
    outputs
    transactions
...
crypto_bitcoin_cash
crypto_dash
crypto_dogecoin
crypto_ethereum
crypto_ethereum_classic
crypto_litecoin
crypto_zcash
https://bigquery.cloud.google.com/dataset/bigquery-public-data:crypto_bitcoin

Можно собрать список ненулевых балансов этих крипт  SQL запросом к этой базе. Вот примеры
https://cloud.google.com/blog/products/data-analytics/introducing-six-new-cryptocurrencies-in-bigquery-public-datasets-and-how-to-analyze-them

Стоит это вот так:
You will need to create a project before you can use BigQuery (free). You pay $5 per 1TB of data processed, the first 1TB is free. Google Cloud Platform gives you $300 credit so you can query 60TB of data for free even after you exceeded 1TB limit.

Сам не пробовал, мож у кого есть готовые базы хоть на какую дату? Интересно было бы прогнать старые кошельки через pywallet и эту базу , вдруг что всплывет. Иногда уже и не помнишь, что за кошелек от какой крипты. А так можно все на все проверить.
Биг дату пробовал, рабочая схема, но есть свои нюансы.

По поводу списка. Есть такой сайт.
https://balances.crypto-nerdz.org/
Время от времени открывается на халявную скачку (когда кто-то заплатит). Либо можно заплатить самому.
Lexiko
Sr. Member
****
Offline Offline

Activity: 503
Merit: 283


View Profile
June 03, 2020, 10:49:09 AM
Last edit: June 03, 2020, 04:00:11 PM by Lexiko
 #38

Я вот только знаю в Google BiData есть обновляемая в онлайн база блокчейнов для основных крипт:
crypto_bitcoin
  • blocks
    inputs
    outputs
    transactions
...
crypto_bitcoin_cash
crypto_dash
crypto_dogecoin
crypto_ethereum
crypto_ethereum_classic
crypto_litecoin
crypto_zcash
https://bigquery.cloud.google.com/dataset/bigquery-public-data:crypto_bitcoin

Можно собрать список ненулевых балансов этих крипт  SQL запросом к этой базе. Вот примеры
https://cloud.google.com/blog/products/data-analytics/introducing-six-new-cryptocurrencies-in-bigquery-public-datasets-and-how-to-analyze-them

Стоит это вот так:
You will need to create a project before you can use BigQuery (free). You pay $5 per 1TB of data processed, the first 1TB is free. Google Cloud Platform gives you $300 credit so you can query 60TB of data for free even after you exceeded 1TB limit.

Сам не пробовал, мож у кого есть готовые базы хоть на какую дату? Интересно было бы прогнать старые кошельки через pywallet и эту базу , вдруг что всплывет. Иногда уже и не помнишь, что за кошелек от какой крипты. А так можно все на все проверить.
Биг дату пробовал, рабочая схема, но есть свои нюансы.

По поводу списка. Есть такой сайт.
https://balances.crypto-nerdz.org/
Время от времени открывается на халявную скачку (когда кто-то заплатит). Либо можно заплатить самому.
Ага, норм, 15 баксов, кстати не дорого, я готов скинуться ))) Все равно самому все это собирать работа не стоит тех денег.
Есть еще желающие, скинуться? Хоть 1 человек.
A-Bolt
Legendary
*
Offline Offline

Activity: 2314
Merit: 2302


View Profile
June 03, 2020, 08:45:39 PM
Merited by Symmetrick (1), Lexiko (1)
 #39

Дампы с балансами для нескольких криптовалют есть здесь.
Bitcoin / Addresses
Dogecoin / Addresses
и т. д.

Пишут, что обновляют ежедневно. Бесплатно, но скорость скачивания сильно ограничена - 10 кбайт/с.
mrxtraf
Member
**
Offline Offline

Activity: 255
Merit: 27


View Profile WWW
June 04, 2020, 09:11:49 AM
 #40

Дампы с балансами для нескольких криптовалют есть здесь.
Bitcoin / Addresses
Dogecoin / Addresses
и т. д.

Пишут, что обновляют ежедневно. Бесплатно, но скорость скачивания сильно ограничена - 10 кбайт/с.
И где там дампы с балансами?
Вы уверены что в "Bitcoin / Addresses" есть балансы?
Сейчас качаю на посмотреть догекоин, но с такой скоростью это долго, даже 80 метров несколько часов пишет на скачку.
Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!