Баланс биткойн MultiSig не отображается в listaccounts

Я добавил 2-2 адреса MultiSig в кошелек через биткойн-кли ( Testnet ).

addmultisigaddress <'["ключ","ключ"]'> [учетная запись]

1 ключ текущего кошелька и другой открытый ключ из кошелька другого узла.

Аккаунт отображается

0.000000

Хотя более шести подтверждений по транзакции: https://live.blockcypher.com/btc-testnet/tx/297b6f6c14486e9eda1b2a04e20e3bd161758afeafa7d4b0109fa7fca11154ae/

Самое главное listaccountsне указывать учетную запись, связанную с адресом MultiSig.

getaddressesbyaccount [MultiSigAccount]показывает адрес MultiSig, созданный выше.

Как я могу получить баланс адреса MultiSig через bitcoin-cli?

Редактировать 1:

Что возвращает эта команда:$ bitcoin-cli -testnet validateaddress <your-multisig-address>?

{
  «действителен»: правда,
  "адрес": "2Mv4iYeyQtVV1M7rqzgUc68QzQ21vy1o36Z",
  "scriptPubKey": "a9141eeba411eae41a1a3dc7456ec4d599aef84afd7687",
  "исмин": ложь,
  "iswatchonly": правда,
  "исскрипт": правда,
  "свидетель": ложь,
  "скрипт": "witness_v0_scripthash",
  "hex": "00206e908e1cca44b136fbf666f356114ca6a84c1fbed0327a155c204580310a7a11",
  "встроенный": {
    "исскрипт": правда,
    "свидетель": правда,
    "версия_свидетеля": 0,
    "witness_program": "6e908e1cca44b136fbf666f356114ca6a84c1fbed0327a155c204580310a7a11",
    "сценарий": "мультиподпись",
    "hex": "52210240d4ae4819e35e346560efe665f79453210a0b26184e08705964c5eb89e885ca2103fcc7e4690f7bd3a51db7ed438ef9a7ffb0bf316467f39b384920befee", 5aeb4935befee
    "требуемые знаки": 2,
    "публичные ключи": [
      "0240d4ae4819e35e346560efe665f79453210a0b26184e08705964c5eb89e885ca",
      "03fcc7e4690f7bd3a51db7ed438ef9a7ffb0bf316467f39b384935befee4eb2085"
    ],
    "адрес": "tb1qd6ggu8x2gjcnd7lkvme4vy2v565yc8a76qe8592uypzcqvg20ggslwnwl8",
    "scriptPubKey": "00206e908e1cca44b136fbf666f356114ca6a84c1fbed0327a155c204580310a7a11"
  },
  "адреса": [
    "tb1qd6ggu8x2gjcnd7lkvme4vy2v565yc8a76qe8592uypzcqvg20ggslwnwl8"
  ],
  "аккаунт": "мультисиг22",
  "отметка времени": 0
}

Ответы (2)

В документацииaddmultisigaddress говорится :

Эта функция предназначена только для использования с адресами, не предназначенными только для просмотра. См. информацию importaddressо поддержке адресов p2sh только для просмотра.

Поскольку у кошелька нет обоих приватных ключей, он не покажет баланс, если вы не используете importaddress. Обратите внимание на ismine: falseсвойство в validateaddress, которое означает, что ваш кошелек не может тратить деньги (у него нет закрытых ключей).

addmultisigaddress nrequired ["key",...] ( "account" "address_type" )

Add a nrequired-to-sign multisignature address to the wallet. Requires
a new wallet backup. Each key is a Bitcoin address or hex-encoded
public key. This functionality is only intended for use with
non-watchonly addresses. See `importaddress` for watchonly p2sh
address support. If 'account' is specified (DEPRECATED), assign
address to that account.

Чтобы просмотреть мультиподписной адрес (получить его баланс), вы должны использовать importaddress:

importaddress "address" ( "label" rescan p2sh )

Adds a script (in hex) or address that can be watched as if it were in your wallet but cannot be used to spend. Requires a new wallet backup.

Arguments:
1. "script"           (string, required) The hex-encoded script (or address)
2. "label"            (string, optional, default="") An optional label
3. rescan               (boolean, optional, default=true) Rescan the wallet for transactions
4. p2sh                 (boolean, optional, default=false) Add the P2SH version of the script as well

Note: This call can take minutes to complete if rescan is true, during that time, other rpc calls may report that the imported address exists but related transactions are still missing, leading to temporarily incorrect/bogus balances and unspent outputs until rescan completes. If you have the full public key, you should call importpubkey instead of this.

Note: If you import a non-standard raw script in hex form, outputs sending to it will be treated as change, and not show up in many RPCs.

Examples:

Import a script with rescan
> bitcoin-cli importaddress "myscript"

Import using a label without rescan
> bitcoin-cli importaddress "myscript" "testing" false

As a JSON-RPC call
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importaddress", "params": ["myscript", "testing", false] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

После звонка importaddressбаланс счета по-прежнему показывал 0,00000getbalance [MultiSigAccount]

Чтобы проверить баланс адреса MultiSig, сработало это и показало баланс адреса MultiSig после importaddressвызова:

bitcoin-cli -testnet getreceivedbyaddress [MultiSigAddress]