как получить весь баланс приватного или публичного ключа BTC

Поскольку есть несколько типов биткойн-адресов одного закрытого или открытого ключа. Я могу получить баланс одного адреса, но как я могу получить весь баланс приватного или публичного ключа. Как вывести список всех адресов из одного приватного или публичного ключа. Более того, как обработать мультиподписной адрес, который сгенерирован из другого закрытого ключа публичного ключа.

вы хотите знать, как это сделать для биткойнов с помощью биткойн-клиента или любого другого кошелька, или вы ищете программу (на каком языке) для извлечения этих данных для вас? Общее руководство находится здесь: bitcoin.stackexchange.com/questions/10090/…
@pebwindkraft В своем вопросе я сказал, что знаю, как получить баланс одного адреса. Здесь я хочу получить весь баланс из адресов, сгенерированных из одного открытого ключа или закрытого ключа.
@pebwindkraft подойдет любой язык. Я просто хочу знать идею, чтобы сделать это.

Ответы (2)

Вам нужно будет сгенерировать все адреса, соответствующие открытому или закрытому ключу, который вы хотите проверить, а затем найти их все в наборе UTXO. Например, вы можете искать P2PK, P2PKH, P2WPKH, адрес с мультиподписью 1-из-1 только с этим открытым ключом и т. д. Не существует единого поиска, подходящего для всех.

Должны ли быть включены другие мультиподписи, кроме 1-из-1, например, 1-из-2, 2-из-3.
@KrisRoofe технически их почти бесконечное количество, нет необходимости проверять адреса, если вы не думаете, что кто-то мог им что-то отправить

рядом с ответом от MeshCollider я бы хотел еще немного обрисовать, что можно/нельзя делать...

  1. Как я могу получить весь баланс закрытого или открытого ключа?

пара priv/pubkey может генерировать несколько адресов. Приватный ключ является наиболее стандартным, используемым для адресов P2PKH (начиная с «1» в сети биткойнов). Они могут быть получены из сжатого или несжатого публичного ключа. Здесь хорошая детская площадка. Затем вы можете создавать P2SH-адреса любого типа с помощью этого ключа. Они начинали с «3». И да, адреса с мультиподписью будут просто одной из возможностей. Возможно множество комбинаций (1-из-1, 1-из-2, 1-из-3, 2-из-3, 2-из-4...), каждая из которых приводит к разным адресам «типа 3». . Поэтому, если вы создали адреса в биткойн-клиенте, вы можете использовать команду «getbalance». Эта команда связана с учетными записями, и после группировки адресов в учетных записях можно отображать общий баланс в кошельке или отдельных учетных записях. Адреса, используемые в учетных записях, можно увидеть с помощью «getaddressesbyaccount», а затем адреса можно оценить с помощью «listunspent», захватив нужный адрес. Существует также команда для просмотра общей суммы, полученной на адрес (getreceivedbyaddress).

Подводя итог: вы можете захотеть создать некоторую логику кодирования для использования вызовов API. Список вызовов API доступен в исходном коде или в вики .

  1. Как вывести список всех адресов из одного приватного или публичного ключа?

как объяснил MeshCollider, для этого требуется ручная настройка, в биткойн-клиенте нет ничего, что соответствовало бы запросу.

  1. Более того, как обработать мультиподписной адрес, который сгенерирован из другого закрытого ключа публичного ключа?

Когда вы создали адрес с мультиподписью с помощью основного клиента биткойн («addmultisigaddress»), клиент должен отображать значения этого адреса. Когда мультиподпись была создана «вне» клиента, она не будет отображать значения для учетной записи, даже если вы добавите адрес как адрес «только для просмотра» (setaccount теперь устарел, а impogrtaddress, очевидно, путь). Во всяком случае, я не мог заставить свой кошелек видеть баланс на этих импортированных адресах (хотя я нахожусь в regtest и использовал txindex=1 в bitcoin.conf). Более того, если адрес «только» известен и не использовался в цепочке блоков, тогда мультиподписные адреса P2SH скрыты за хэшем, который является односторонней функцией. Таким образом, вы никогда не знаете деталей ключей или логики, используемых внутри...