bsv_rpc v1.0.0-alpha3 BsvRpc.Base58Check View Source

Base58Check encoder/decoder.

Link to this section Summary

Functions

Decodes a base58check encoded data.

Decodes a base58check encoded data.

Encodes binary using base58check.

Link to this section Functions

Link to this function

decode(str)

View Source
decode(String.t()) :: {:ok, binary()} | {:error, String.t()}

Decodes a base58check encoded data.

Examples

iex> BsvRpc.Base58Check.decode("1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i")

iex> {:ok, <<_prefix::size(8), decoded::binary>>} = BsvRpc.Base58Check.decode("3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou") iex> Base.encode16(decoded, case: :lower) "74f209f6ea907e2ea48f74fae05782ae8a665257"

iex> {:ok, <<_prefix::size(8), decoded::binary>>} = BsvRpc.Base58Check.decode("mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs") iex> Base.encode16(decoded, case: :lower) "53c0307d6851aa0ce7825ba883c6bd9ad242b486"

Decodes a base58check encoded data.

An ArgumentError exception is raised if the invalid input is provided or MatchError exception is raised if the checksum does not validate.

Examples

iex> BsvRpc.Base58Check.decode!("1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i") <<0, 101, 161, 96, 89, 134, 74, 47, 219, 199, 201, 154, 71, 35, 168, 57, 91, 198, 241, 136, 235>>

iex> <<_prefix::size(8), decoded::binary>> = BsvRpc.Base58Check.decode!("3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou") iex> Base.encode16(decoded, case: :lower) "74f209f6ea907e2ea48f74fae05782ae8a665257"

iex> <<_prefix::size(8), decoded::binary>> = BsvRpc.Base58Check.decode!("mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs") iex> Base.encode16(decoded, case: :lower) "53c0307d6851aa0ce7825ba883c6bd9ad242b486"

Encodes binary using base58check.

Examples

iex> BsvRpc.Base58Check.encode(<<0, 101, 161, 96, 89, 134, 74, 47, 219, 199, 201, 154, 71, 35, 168, 57, 91, 198, 241, 136, 235>>) "1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i"

iex> hex_encoded = Base.decode16!("74f209f6ea907e2ea48f74fae05782ae8a665257", case: :lower) iex> BsvRpc.Base58Check.encode(<<0x05>> <> hex_encoded) "3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou"

iex> hex_encoded = Base.decode16!("53c0307d6851aa0ce7825ba883c6bd9ad242b486", case: :lower) iex> BsvRpc.Base58Check.encode(<<0x6f>> <> hex_encoded) "mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs"