View Source BitcoinLib.Key.HD.ExtendedPublic.Serialization (BitcoinLib v0.1.2)

Extended public key serialization module

To test the results, use https://www.npmjs.com/package/@swan-bitcoin/xpub-cli Serialization types: https://github.com/satoshilabs/slips/blob/master/slip-0132.md

Link to this section Summary

Functions

Serialization of a master public key into an exportable version

Link to this section Functions

Link to this function

serialize(pub_key, arg2)

View Source
@spec serialize(
  %BitcoinLib.Key.HD.ExtendedPublic{
    chain_code: term(),
    depth: term(),
    fingerprint: term(),
    index: term(),
    key: term(),
    parent_fingerprint: term()
  },
  atom()
) :: {:ok, binary()}
@spec serialize(
  %BitcoinLib.Key.HD.ExtendedPublic{
    chain_code: term(),
    depth: term(),
    fingerprint: term(),
    index: term(),
    key: term(),
    parent_fingerprint: term()
  },
  atom()
) :: {:ok, binary()}
@spec serialize(
  %BitcoinLib.Key.HD.ExtendedPublic{
    chain_code: term(),
    depth: term(),
    fingerprint: term(),
    index: term(),
    key: term(),
    parent_fingerprint: term()
  },
  atom()
) :: {:ok, binary()}
@spec serialize(
  %BitcoinLib.Key.HD.ExtendedPublic{
    chain_code: term(),
    depth: term(),
    fingerprint: term(),
    index: term(),
    key: term(),
    parent_fingerprint: term()
  },
  atom()
) :: {:error, binary()}

Serialization of a master public key into an exportable version

examples

Examples

values from https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vector-1

iex> %BitcoinLib.Key.HD.ExtendedPublic{ ...> key: 0x339A36013301597DAEF41FBE593A02CC513D0B55527EC2DF1050E2E8FF49C85C2, ...> chain_code: 0x873DFF81C02F525623FD1FE5167EAC3A55A049DE3D314BB42EE227FFED37D508, ...> depth: 0, ...> index: 0, ...> parent_fingerprint: 0 ...> } ...> |> BitcoinLib.Key.HD.ExtendedPublic.Serialization.serialize() {

:ok,
"xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8"

}