pub struct SetNewPrevHash<'decoder> {
pub template_id: u64,
pub prev_hash: U256<'decoder>,
pub header_timestamp: u32,
pub n_bits: u32,
pub target: U256<'decoder>,
}
Expand description
§SetNewPrevHash (Server -> Client)
Upon successful validation of a new best block, the server MUST immediately provide a SetNewPrevHash message. If a [NewWork] message has previously been sent with the [future_job] flag set, which is valid work based on the prev_hash contained in this message, the template_id field SHOULD be set to the job_id present in that NewTemplate message indicating the client MUST begin mining on that template as soon as possible. TODO: Define how many previous works the client has to track (2? 3?), and require that the server reference one of those in SetNewPrevHash.
Fields§
§template_id: u64
template_id referenced in a previous NewTemplate message.
prev_hash: U256<'decoder>
Previous block’s hash, as it must appear in the next block’s header.
header_timestamp: u32
The nTime field in the block header at which the client should start (usually current time). This is NOT the minimum valid nTime value.
n_bits: u32
Block header field.
target: U256<'decoder>
The maximum double-SHA256 hash value which would represent a valid block. Note that this may be lower than the target implied by nBits in several cases, including weak-block based block propagation.
Implementations§
source§impl<'decoder> SetNewPrevHash<'decoder>
impl<'decoder> SetNewPrevHash<'decoder>
pub fn into_static(self) -> SetNewPrevHash<'static>
source§impl<'decoder> SetNewPrevHash<'decoder>
impl<'decoder> SetNewPrevHash<'decoder>
pub fn as_static(&self) -> SetNewPrevHash<'static>
Trait Implementations§
source§impl<'decoder> Clone for SetNewPrevHash<'decoder>
impl<'decoder> Clone for SetNewPrevHash<'decoder>
source§fn clone(&self) -> SetNewPrevHash<'decoder>
fn clone(&self) -> SetNewPrevHash<'decoder>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'decoder> Debug for SetNewPrevHash<'decoder>
impl<'decoder> Debug for SetNewPrevHash<'decoder>
source§impl<'decoder> Decodable<'decoder> for SetNewPrevHash<'decoder>
impl<'decoder> Decodable<'decoder> for SetNewPrevHash<'decoder>
fn get_structure(data: &[u8]) -> Result<Vec<FieldMarker>, Error>
fn from_decoded_fields( data: Vec<DecodableField<'decoder>> ) -> Result<Self, Error>
fn from_bytes(data: &'a mut [u8]) -> Result<Self, Error>
source§impl<'a> From<SetNewPrevHash<'a>> for CSetNewPrevHash
impl<'a> From<SetNewPrevHash<'a>> for CSetNewPrevHash
source§fn from(v: SetNewPrevHash<'a>) -> Self
fn from(v: SetNewPrevHash<'a>) -> Self
source§impl<'decoder> From<SetNewPrevHash<'decoder>> for EncodableField<'decoder>
impl<'decoder> From<SetNewPrevHash<'decoder>> for EncodableField<'decoder>
source§fn from(v: SetNewPrevHash<'decoder>) -> Self
fn from(v: SetNewPrevHash<'decoder>) -> Self
source§impl<'decoder> PartialEq for SetNewPrevHash<'decoder>
impl<'decoder> PartialEq for SetNewPrevHash<'decoder>
source§fn eq(&self, other: &SetNewPrevHash<'decoder>) -> bool
fn eq(&self, other: &SetNewPrevHash<'decoder>) -> bool
self
and other
values to be equal, and is used
by ==
.