summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Ranvier <justusranvier@riseup.net>2015-06-22 07:19:30 -0500
committerJustus Ranvier <justusranvier@riseup.net>2015-07-10 12:36:02 -0500
commit114ed229d36733df108808df2a45f7822b643306 (patch)
tree0a83335622c1280256d9357a2bfefb6df036d822
parent1612a0016a21d72a67886661913002ccdc4b839f (diff)
downloadbips-114ed229d36733df108808df2a45f7822b643306.tar.xz
Correct serialization
Since the length of the data encoded by base58check affects the version byte needed to produce a desired leading character, fix the length of the payment code at 80 bytes, and correct the version byte to 0x23
-rw-r--r--bip-0047.mediawiki12
1 files changed, 5 insertions, 7 deletions
diff --git a/bip-0047.mediawiki b/bip-0047.mediawiki
index ab005b4..fd89297 100644
--- a/bip-0047.mediawiki
+++ b/bip-0047.mediawiki
@@ -33,9 +33,7 @@ Each level has a special meaning, described in the chapters below.
===Purpose===
-Purpose is a constant set following the BIP43 recommendation to: the ASCII value of "47" with the most signifigant bit set to indicate hardened derivation (0x8000002F). It indicates that the subtree of this node is used according to this specification.
-
-Hardened derivation is used at this level.
+Purpose is a constant set to 47' (or 0x8000002F) following the BIP43 recommendation. It indicates that the subtree of this node is used according to this specification.
===Coin type===
@@ -64,13 +62,13 @@ A payment code contains the following elements:
* Byte 2: sign. required value: 0x02 or 0x03
* Bytes 3 - 34: x value
* Bytes 35 - 66: chain code
-* Bytes 67 - 79: optional. reserved for future expansion
+* Bytes 67 - 79: reserved for future expansion, zero-filled unless otherwise noted
====Base58 Serialization====
When a payment code is presented to the user, it SHOULD be presented encoded in Base58Check form.
-* The version byte is: 0x37 (produces a "P" as the first character of the serialized form)
+* The version byte is: 0x23 (produces a "P" as the first character of the serialized form)
* The payload is the binary serialization of the payment code
===Protocol===
@@ -211,8 +209,8 @@ A recipient specifies their preference for alternate notification by setting the
A recipient prefers to receive notifications via Bitmessage indiates this preference by:
* Setting bit 0 of the features byte to 1
-* Appending a byte containing the desired Bitmessage address version to the payment code at byte 67
-* Appending a byte containing the desired Bitmessage stream number to the payment code at byte 68
+* Setting byte 67 of the serialized payment code to the desired Bitmessage address version
+* Setting byte 67 of the serialized payment code to the desired Bitmessage stream number
The sender uses this information to construct a valid notification Bitmessage address: