Struct bitcoin::blockdata::script::Script [−][src]
pub struct Script(_);
Expand description
A Bitcoin script
Implementations
Generates P2PKH-type of scriptPubkey
Generates P2SH-type of scriptPubkey with a given hash of the redeem script
Generates P2WPKH-type of scriptPubkey
Generates P2WSH-type of scriptPubkey with a given hash of the redeem script
Generates P2WSH-type of scriptPubkey with a given hash of the redeem script
Generates OP_RETURN-type of scriptPubkey for a given data
Returns 160-bit hash of the script
Returns 256-bit hash of the script for P2WSH outputs
Convert the script into a byte vector
Compute the P2WSH output corresponding to this witnessScript (aka the “witness redeem script”)
Checks whether a script pubkey is a Segregated Witness (segwit) program.
Checks whether a script pubkey is a p2wsh output
Checks whether a script pubkey is a p2wpkh output
Check if this is an OP_RETURN output
Whether a script can be proven to have no satisfying input
Gets the minimum value an output with this script should have in order to be broadcastable on today’s bitcoin network.
pub fn instructions(&self) -> Instructions<'_>ⓘNotable traits for Instructions<'a>impl<'a> Iterator for Instructions<'a> type Item = Result<Instruction<'a>, Error>;
pub fn instructions(&self) -> Instructions<'_>ⓘNotable traits for Instructions<'a>impl<'a> Iterator for Instructions<'a> type Item = Result<Instruction<'a>, Error>;
impl<'a> Iterator for Instructions<'a> type Item = Result<Instruction<'a>, Error>;
Iterate over the script in the form of Instruction
s, which are an enum covering
opcodes, datapushes and errors. At most one error will be returned and then the
iterator will end. To instead iterate over the script as sequence of bytes, treat
it as a slice using script[..]
or convert it to a vector using into_bytes()
.
To force minimal pushes, use Self::instructions_minimal.
pub fn instructions_minimal(&self) -> Instructions<'_>ⓘNotable traits for Instructions<'a>impl<'a> Iterator for Instructions<'a> type Item = Result<Instruction<'a>, Error>;
pub fn instructions_minimal(&self) -> Instructions<'_>ⓘNotable traits for Instructions<'a>impl<'a> Iterator for Instructions<'a> type Item = Result<Instruction<'a>, Error>;
impl<'a> Iterator for Instructions<'a> type Item = Result<Instruction<'a>, Error>;
Iterate over the script in the form of Instruction
s while enforcing
minimal pushes.
Write the assembly decoding of the script bytes to the formatter.
Write the assembly decoding of the script to the formatter.
Create an assembly decoding of the script in the given byte slice.
Trait Implementations
Decode an object with a well-defined format
Creates a new script from an existing vector
fn from_byte_iter<I>(iter: I) -> Result<Self, Error> where
I: Iterator<Item = Result<u8, Error>> + ExactSizeIterator + DoubleEndedIterator,
fn from_byte_iter<I>(iter: I) -> Result<Self, Error> where
I: Iterator<Item = Result<u8, Error>> + ExactSizeIterator + DoubleEndedIterator,
Produce an object from a byte iterator
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Script
impl UnwindSafe for Script
Blanket Implementations
Calculate the base32 serialized length
Mutably borrows from an owned value. Read more
pub fn write_base32<W>(
&self,
writer: &mut W
) -> Result<(), <W as WriteBase32>::Err> where
W: WriteBase32,
pub fn write_base32<W>(
&self,
writer: &mut W
) -> Result<(), <W as WriteBase32>::Err> where
W: WriteBase32,
Encode as base32 and write it to the supplied writer Implementations shouldn’t allocate. Read more