pub struct ChainInfo {
    pub chain: String,
    pub median_time: Timestamp,
    pub epoch: EpochNumberWithFraction,
    pub difficulty: U256,
    pub is_initial_block_download: bool,
    pub alerts: Vec<AlertMessage>,
}
Expand description

Chain information.

Fields§

§chain: String

The network name.

Examples:

  • “ckb” - Mirana the mainnet.
  • “ckb_testnet” - Pudge the testnet.
§median_time: Timestamp

The median time of the last 37 blocks, including the tip block.

§epoch: EpochNumberWithFraction

The epoch information of tip block in the chain.

§difficulty: U256

Current difficulty.

Decoded from the epoch compact_target.

§is_initial_block_download: bool

Whether the local node is in IBD, Initial Block Download.

When a node starts and its chain tip timestamp is far behind the wall clock, it will enter the IBD until it catches up the synchronization.

During IBD, the local node only synchronizes the chain with one selected remote node and stops responding the most P2P requests.

§alerts: Vec<AlertMessage>

Active alerts stored in the local node.

Trait Implementations§

source§

impl Debug for ChainInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ChainInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ChainInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,