-
Notifications
You must be signed in to change notification settings - Fork 6
OldHomePage
Bob Holden edited this page Aug 2, 2020
·
3 revisions
- Notes from 20190912:
- Hopefully this will clarify things:
- The exported "Account-Level Extended Public Key" is already derived to this level:
BIP-32 Root Key (m) -> CKDpriv (m/XX') -> CKDpriv (m/XX’/0’) -> CKDpriv (m/XX’/0’/x’)
- The tool "getBTC":
- Inputs the exported account-level extended public key which contains:
- the Parent Public Key
- the Parent Chain Code
- which derives:
CKDpub (M/XX’/0’/x’/0)
- which is used to calculate a payment address which derives
- BIP44 - (P2SH) Payment Address:
CKDpub (M/44’/0’/0’/0/x) for payment addresses beginning with "1"
- BIP49 Deriver derives:
CKDpub (M/49’/0’/0’/0/x) for payment addresses beginning with "1"
- BIP84 Deriver derives:
CKDpub (M/84’/0’/0’/0/x) for payment addresses beginning with "1"
- BIP44 - (P2SH) Payment Address:
- Inputs the exported account-level extended public key which contains:
- The exported "Account-Level Extended Public Key" is already derived to this level:
- Hopefully this will clarify things:
- Bitcoin HD Wallets:
- are based on a Master Private Key, which is a Cryptographically Secure Randomly Generated 256 bit number, which IS the Wallet.
- use a scheme to create Private and Public keys for each level of the derivation path from a master private key
- use Derivation Path Levels to segregate
and provide a private and public key for each level of the path.
Accounts which are parts of a
- An Account-Level Extended Public Key is exported by the HD Wallet for the Account Level of the derivation path.
- Payment Addresses are derived from the public key of the lowest level of the derivation path, meaning that in order to create a public key to be used in a payment address, we need the next to last level's public key as the parent public key that is used in the final child key derivation process.
This toolbox contains 4 basic tools:
- Public KeyChain Extractor
- Inputs an account-level, extended public key that is exported from the Merchants, Bitcoin BIP 32/44/49/84 HD Wallet
- Outputs a public key and chain code for the Change Level of the derivation path
- xPub Deriver:
- Inputs:
- Change Level Public Key of the derivation path (m/44'/0'/0'/0/)
- User provided index number of the payment address to be generated (the position of the address in the wallet)
- Output:
- Payment address beginning with "1".
- Inputs:
- yPub Deriver:
- Inputs:
- Change Level Public Key of the derivation path (m/49'/0'/0'/0/)
- User provided index number of the payment address to be generated (the position of the address in the wallet)
- Output:
- Payment address beginning with "3".
- Inputs:
- zPub Deriver:
- Inputs:
- Change Level Public Key of the derivation path (m/84'/0'/0'/0/)
- User provided index number of the payment address to be generated (the position of the address in the wallet)
- Output:
- Payment address beginning with "bc1".
- Inputs:
- A Web Server running programming software that is able to dynamically deliver web content to the user that includes:
- A shopping cart
- An "invoice numbering and tracking" system
- A QR Code Generator
Our Mission: To provide a simple set of tools for programmers to use to build Bitcoin Paywalls