0

I tried to import an example Taproot descriptor using bitcoin-cli importmulti

tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{pk(fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556),pk(e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13)})

I got the error "Missing checksum". How do I generate the checksum and where do I append it to the descriptor?

A checksum was added to descriptors in this PR.

1 Answer 1

1

You can obtain the checksum using:

bitcoin-cli getdescriptorinfo insert_descriptor_here.

This outputs the descriptor with the checksum appended at the end under "descriptor" and a separate "checksum" field with the checksum on its own.

{
  "descriptor": "tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{pk(fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556),pk(e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13)})#2rqrdjrh",
  "checksum": "2rqrdjrh",
  "isrange": false,
  "issolvable": true,
  "hasprivatekeys": false
}

You can then use bitcoin-cli importmulti on that descriptor.

More guidance is in the descriptor doc.

Thanks to darosior for answering this on IRC.

1
  • As an aside, I think that if you call getdescriptorinfo on a descriptor that contains a privkey, it will return the descriptor with the corresponding pubkey in the descriptor field. But the checksum verifies this modified descriptor, not the one you passed (with privkey). The checksum for the descriptor containing the privkey would be in the checksum field. I was confused by that at first (and is still very confused by descriptors so far).
    – Sosthène
    Sep 13, 2022 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.