Я хочу получить доступ к неизрасходованным данным определенного биткойн-адреса.
я пробую эту команду
bitcoin-cli -regtest listunspent «какой-то биткойн-адрес»
Но я всегда получаю пустой список. Я использую локальный биткойн-сервер на Windows 7.
Что мне делать или использовать любую функцию для получения желаемого результата?
listunspent
отображает только информацию об адресах, которые в настоящее время являются частью вашего кошелька. Bitcoin Core не поддерживает индексы неизрасходованных выходных данных для адресов, которыми вы не владеете, и просто вернет пустой набор, если вы попытаетесь запросить их.
Как упоминалось здесь , вы можете сначала получить адреса учетной записи с помощью, getaddressesbyaccount
а затем перечислить все неизрасходованные адреса с помощью
bitcoin-cli listunspent 6 9999999 "[\"1PGFqEzfmQch1gKD3ra4k18PNj3tTUUSqg\",\"1LtvqCaApEdUGFkpKMM4MstjcaL4dKg8SP\"]"
где 6 и 9999999 - это min
и max
подтверждения
Чтобы получить неизрасходованный список определенного биткойн-адреса (не принадлежащего вашему кошельку), вы должны сначала импортировать адрес в кошелек, используя importaddress . Для этого RPC не требуется закрытый ключ этого адреса. Обратите внимание, что это заставит программу повторно сканировать всю цепочку блоков, что займет несколько минут.
теперь вы можете использовать вызов listunspent для получения UTXO.
Редактировать: используйте повторное сканирование: true, если вы импортируете уже существующий адрес
{ result: null, error: null, id: 'd542c95d-ad8f-4a8e-b92f-6a69fa051e9d' }
, а затем, когда я пытаюсь просмотреть список, я получаю{ result: [], error: null, id: '460bdaa4-5209-4dc8-ba76-582e3e0cc0e4' }
Предполагая, что адреса находятся в вашем кошельке, вы ищете listreceivedbyaddress
. Это вернет вам это:
Возвращает массив объектов, содержащий:
- "адрес": адрес получения
- "account" : аккаунт получающего адреса
- "amount": общая сумма, полученная по адресу
- "confirmations": количество включенных подтверждений самой последней транзакции.
- «txids»: список идентификаторов транзакций, к которым вы можете перейти
gettransaction
, чтобы увидеть полную транзакцию.
Неизрасходованные данные появляются в списке неизрасходованных только после ШЕСТИ подтверждений.
Попробуйте эту команду,
bitcoin-cli -regtest listunspent "some bitcoin address" 0
Он покажет все неизрасходованные транзакции.
Другие варианты, помимо того, что упомянул Ник, — либо использовать API toshi.io:
toshi.io - API - utxo для адреса
Или запустите свой собственный узел toshi:
Я написал программу, которая позволяет вам искать любой адрес, независимо от того, принадлежит ли он вашему кошельку или нет, на Python3.
Вот ссылка на гитхаб:
https://github.com/ORP967/Bitcoin_Core_RPC_par_адрес
Дайте мне знать, если у вас, ребята, есть какие-либо улучшения, которые можно внести в него.
Jus12
txindex=1
каким-либо образомlistunspent
?