Author

Topic: Получить баланс не своего адреса (Read 1783 times)

sr. member
Activity: 460
Merit: 250
по всем выходам всей сети или только своего кошелька?
если всей сети то по этому списку и найдешь баланс счетов - у остальных 0 на счету
а иначе только полным перебором всей цепочки блоков - иначе никак
да да, спасибо за наводку
нашел функцию которая отвечает за gettxoutsetinfo
в txdb.cpp
getstats там прям роемся в базе в поисках не траченных выходов, думаю если ее модифицировать то можно выводить и adresses
жаль непосредственно там group by  adresses  применить нельзя, ну не беда, сделаю это полученном оттуда массиве.

там кстати в этой функции и лежит перелопачивание всей db курсором
hero member
Activity: 546
Merit: 500
gettxout    [includemempool=true]   Returns details about an unspent transaction output (UTXO)   N
gettxoutsetinfo      Returns statistics about the unspent transaction output (UTXO) set
https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

оно?
не к сожалению не оно, gettxout   просит txid
а gettxoutsetinfo   тупо статистику по всем выходам

мне же нужно баланс по адресу Sad

по всем выходам всей сети или только своего кошелька?
если всей сети то по этому списку и найдешь баланс счетов - у остальных 0 на счету

а иначе только полным перебором всей цепочки блоков - иначе никак
sr. member
Activity: 460
Merit: 250
gettxout    [includemempool=true]   Returns details about an unspent transaction output (UTXO)   N
gettxoutsetinfo      Returns statistics about the unspent transaction output (UTXO) set
https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

оно?
не к сожалению не оно, gettxout   просит txid
а gettxoutsetinfo   тупо статистику по всем выходам

мне же нужно баланс по адресу Sad
hero member
Activity: 546
Merit: 500
gettxout    [includemempool=true]   Returns details about an unspent transaction output (UTXO)   N
gettxoutsetinfo      Returns statistics about the unspent transaction output (UTXO) set
https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

оно?
sr. member
Activity: 460
Merit: 250
UTXO ?
я в своих исходниках там про адреса ничего не вижу Huh
хм посмотрю в биткоинских....
hero member
Activity: 546
Merit: 500
там еще есть команда дать выходы непотраченные TXUO
sr. member
Activity: 460
Merit: 250
ну и видом рассчитает балансы всех адресов - вернее он создает базу непотраченных выходов
и в ней потом искать будет

не потраченных моих выходов или вообще всех кошельков сети?
и как их потом просмотреть?
listunspent (без параметров)
выдает только мои не потраченные выходы
чужие не кажет
указываю чужой или свой адрес выдает ошибку чтения json


вот кусок кода который индексирует транзакции
Quote
if (fTxIndex)
        if (!pblocktree->WriteTxIndex(vPos))
            return state.Abort(_("Failed to write transaction index"));

    // add this block to the view's block chain
    assert(view.SetBestBlock(pindex));

    // Watch for transactions paying to me
    for (unsigned int i=0; i        SyncWithWallets(GetTxHash(i), vtx, this, true);



hero member
Activity: 546
Merit: 500
Подскажите как получить баланс по чужому адресу
 Roll Eyes внутри собственной бд bitcoind???

понимаю как это делать в обычной СУБД
(выбрать приход/расход в таблице, где адрес = искомому адресу)

правильно ли я понимаю что никак иначе кроме как выборкой начиная с последнего блока искать все транзакции в которых фигурирует указанный адрес?

именно так и делает ваш кошелек

причем если его запустить с опцией -txindex=1
то кошелек будет показывать все транзакции также - не только ваши
ну и видом рассчитает балансы всех адресов - вернее он создает базу непотраченных выходов
и в ней потом искать будет
sr. member
Activity: 460
Merit: 250
Подскажите как получить баланс по чужому адресу
 Roll Eyes внутри собственной бд bitcoind???

понимаю как это делать в обычной СУБД
(выбрать приход/расход в таблице, где адрес = искомому адресу)

правильно ли я понимаю что никак иначе кроме как выборкой начиная с последнего блока искать все транзакции в которых фигурирует указанный адрес?
Jump to: