bsv_rpc v1.0.0-alpha3 BsvRpc.Sighash View Source
Functions for Bitcoin sighash calculation.
Link to this section Summary
Link to this section Types
t()
View Sourcet() :: [ :sighash_all | :sighash_none | :sighash_single | :sighash_anyonecanpay | :sighash_forkid ]
Link to this section Functions
get_sighash_suffix(sighash_type)
View Sourceget_sighash_suffix(BsvRpc.Sighash.t()) :: byte()
Gets sighash type suffix byte.
Examples
iex> BsvRpc.Sighash.get_sighash_suffix([:sighash_all, :sighash_forkid]) 0x41
sighash(tx_in, tx, key, utxo, sighash_type)
View Sourcesighash( BsvRpc.TransactionInput.t(), BsvRpc.Transaction.t(), BsvRpc.PrivateKey.t(), BsvRpc.UTXO.t() | nil, BsvRpc.Sighash.t() ) :: binary()
Creates sighash digest to be signed.
Examples
iex> {:ok, k} = ExtendedKey.fromstring("xprv9s21ZrQH143K42Wyfo4GvDT1QBNSgq5sCBPXr4zaftZr2WKCrgEzdtniz5TvRgXA6V8hi2QrUMG3QTQnqovLp2UBAqsDcaxDUP3YCA61rJV") ...> |> BsvRpc.PrivateKey.create() iex> tx = BsvRpc.Transaction.create_from_hex("0100000001040800A41008F4C353626694DAC1EE5553FBD36B11AC5647528E29C7D6C89BE20000000000FFFFFFFF0200F90295000000001976A9141D7C7B4894BE23A6495B004157F3A1BBA173C52988AC0CF70295000000001976A9141D7C7B4894BE23A6495B004157F3A1BBA173C52988AC00000000") iex> [tx_in | ] = tx.inputs iex> utxo = %BsvRpc.UTXO{script_pubkey: Base.decode16!("76A9141D7C7B4894BE23A6495B004157F3A1BBA173C52988AC"), value: 5000000000, transaction: <<>>, output: 0} iex> Base.encode16(BsvRpc.Sighash.sighash(tx_in, tx, k, utxo, [:sighash_all, :sighash_forkid])) "A55AF5F6A521E714AC45BCED0BE08E1A0CCF11E09771D694942BB9C2C9F10FC6"