mirror of
https://github.com/bitcoin/bips.git
synced 2026-04-27 16:38:39 +00:00
BIP-0329: Add spscan label type for labelling silent payments wallets (#2149)
* Add spscan label type * minor edits
This commit is contained in:
@@ -21,7 +21,7 @@ This BIP is licensed under the BSD 2-clause license.
|
|||||||
|
|
||||||
The export and import of funds across different Bitcoin wallet applications is well defined through standards such as BIP39, BIP32, BIP44 etc.
|
The export and import of funds across different Bitcoin wallet applications is well defined through standards such as BIP39, BIP32, BIP44 etc.
|
||||||
These standards are well supported and allow users to move easily between different wallets.
|
These standards are well supported and allow users to move easily between different wallets.
|
||||||
There is, however, no defined standard to transfer any labels the user may have applied to the transactions, addresses, public keys, inputs, outputs or xpubs in their wallet.
|
There is, however, no defined standard to transfer any labels the user may have applied to the transactions, addresses, public keys, inputs, outputs, xpubs or spscans in their wallet.
|
||||||
The UTXO model that Bitcoin uses makes these labels particularly valuable as they may indicate the source of funds, whether received externally or as a result of change from a prior transaction.
|
The UTXO model that Bitcoin uses makes these labels particularly valuable as they may indicate the source of funds, whether received externally or as a result of change from a prior transaction.
|
||||||
In both cases, care must be taken when spending to avoid undesirable leaks of private information.
|
In both cases, care must be taken when spending to avoid undesirable leaks of private information.
|
||||||
|
|
||||||
@@ -52,10 +52,10 @@ Each JSON object must contain 3 or 4 key/value pairs, defined as follows:
|
|||||||
! Description
|
! Description
|
||||||
|-
|
|-
|
||||||
| <tt>type</tt>
|
| <tt>type</tt>
|
||||||
| One of <tt>tx</tt>, <tt>addr</tt>, <tt>pubkey</tt>, <tt>input</tt>, <tt>output</tt> or <tt>xpub</tt>
|
| One of <tt>tx</tt>, <tt>addr</tt>, <tt>pubkey</tt>, <tt>input</tt>, <tt>output</tt>, <tt>xpub</tt> or <tt>spscan</tt>
|
||||||
|-
|
|-
|
||||||
| <tt>ref</tt>
|
| <tt>ref</tt>
|
||||||
| Reference to the transaction, address, public key, input, output or extended public key
|
| Reference to the transaction, address, public key, input, output, extended public key or silent payments scan key expression
|
||||||
|-
|
|-
|
||||||
| <tt>label</tt>
|
| <tt>label</tt>
|
||||||
| The label applied to the reference
|
| The label applied to the reference
|
||||||
@@ -98,6 +98,10 @@ The reference is defined for each <tt>type</tt> as follows:
|
|||||||
| <tt>xpub</tt>
|
| <tt>xpub</tt>
|
||||||
| Extended public key as defined by BIP32
|
| Extended public key as defined by BIP32
|
||||||
| <tt>xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8Nq...</tt>
|
| <tt>xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8Nq...</tt>
|
||||||
|
|-
|
||||||
|
| <tt>spscan</tt>
|
||||||
|
| Key expression for the single argument form of a silent payments output descriptor as defined by BIP392
|
||||||
|
| <tt>spscan1q5zs2pg9q5zs2pg9q5zs2pg9q5zs2pg9q5zs2pg9q5...</tt>
|
||||||
|}
|
|}
|
||||||
|
|
||||||
Each JSON object must contain both <tt>type</tt> and <tt>ref</tt> properties. The <tt>label</tt>, <tt>origin</tt> and <tt>spendable</tt> properties are optional. If the <tt>label</tt> or <tt>spendable</tt> properties are omitted, the importing wallet should not alter these values. The <tt>spendable</tt> property should only appear where type is <tt>output</tt>.
|
Each JSON object must contain both <tt>type</tt> and <tt>ref</tt> properties. The <tt>label</tt>, <tt>origin</tt> and <tt>spendable</tt> properties are optional. If the <tt>label</tt> or <tt>spendable</tt> properties are omitted, the importing wallet should not alter these values. The <tt>spendable</tt> property should only appear where type is <tt>output</tt>.
|
||||||
@@ -131,6 +135,7 @@ The following fragment represents a wallet label export:
|
|||||||
{ "type": "input", "ref": "f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd:0", "label": "Input" }
|
{ "type": "input", "ref": "f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd:0", "label": "Input" }
|
||||||
{ "type": "output", "ref": "f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd:1", "label": "Output", "spendable": false }
|
{ "type": "output", "ref": "f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd:1", "label": "Output", "spendable": false }
|
||||||
{ "type": "xpub", "ref": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8", "label": "Extended Public Key" }
|
{ "type": "xpub", "ref": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8", "label": "Extended Public Key" }
|
||||||
|
{ "type": "spscan", "ref": "spscan1q5zs2pg9q5zs2pg9q5zs2pg9q5zs2pg9q5zs2pg9q5zs2pg9q5zsq9q6qjevn2kmdrnpuxt0v6h2kr2a2epkr0g6nk55ftf0xcxtddazgkrth3e", "label": "Silent Payments Scan Key Expression" }
|
||||||
{ "type": "tx", "ref": "f546156d9044844e02b181026a1a407abfca62e7ea1159f87bbeaa77b4286c74", "label": "Account #1 Transaction", "origin": "wpkh([d34db33f/84'/0'/1'])" }
|
{ "type": "tx", "ref": "f546156d9044844e02b181026a1a407abfca62e7ea1159f87bbeaa77b4286c74", "label": "Account #1 Transaction", "origin": "wpkh([d34db33f/84'/0'/1'])" }
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user