mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-12 02:07:39 +01:00
Add checksums to descriptors.md
This commit is contained in:
parent
be62903c41
commit
fd637be8d2
1 changed files with 18 additions and 1 deletions
|
@ -39,7 +39,7 @@ Output descriptors currently support:
|
||||||
|
|
||||||
## Reference
|
## Reference
|
||||||
|
|
||||||
Descriptors consist of several types of expressions. The top level expression is always a `SCRIPT`.
|
Descriptors consist of several types of expressions. The top level expression is either a `SCRIPT`, or `SCRIPT#CHECKSUM` where `CHECKSUM` is an 8-character alphanumeric descriptor checksum.
|
||||||
|
|
||||||
`SCRIPT` expressions:
|
`SCRIPT` expressions:
|
||||||
- `sh(SCRIPT)` (top level only): P2SH embed the argument.
|
- `sh(SCRIPT)` (top level only): P2SH embed the argument.
|
||||||
|
@ -169,3 +169,20 @@ existing Bitcoin Core wallets, a convenience function `combo` is
|
||||||
provided, which takes as input a public key, and describes a set of P2PK,
|
provided, which takes as input a public key, and describes a set of P2PK,
|
||||||
P2PKH, P2WPKH, and P2SH-P2WPH scripts for that key. In case the key is
|
P2PKH, P2WPKH, and P2SH-P2WPH scripts for that key. In case the key is
|
||||||
uncompressed, the set only includes P2PK and P2PKH scripts.
|
uncompressed, the set only includes P2PK and P2PKH scripts.
|
||||||
|
|
||||||
|
### Checksums
|
||||||
|
|
||||||
|
Descriptors can optionally be suffixed with a checksum to protect against
|
||||||
|
typos or copy-paste errors.
|
||||||
|
|
||||||
|
These checksums consist of 8 alphanumeric characters. As long as errors are
|
||||||
|
restricted to substituting characters in `0123456789()[],'/*abcdefgh@:$%{}`
|
||||||
|
for others in that set and changes in letter case, up to 4 errors will always
|
||||||
|
be detected in descriptors up to 501 characters, and up to 3 errors in longer
|
||||||
|
ones. For larger numbers of errors, or other types of errors, there is a
|
||||||
|
roughly 1 in a trillion chance of not detecting the errors.
|
||||||
|
|
||||||
|
All RPCs in Bitcoin Core will include the checksum in their output. Only
|
||||||
|
certain RPCs require checksums on input, including `deriveaddress` and
|
||||||
|
`importmulti`. The checksum for a descriptor without one can be computed
|
||||||
|
using the `getdescriptorinfo` RPC.
|
||||||
|
|
Loading…
Add table
Reference in a new issue