blockpulsar_client_rust 1.0.0

Rust client for Blockpulsar API
Documentation
#[derive(Debug, Clone)]
pub struct BlockHeader {
  pub hash: String,
  pub confirmations: i32,
  pub height: u32,
  pub version: u32,
  pub versionHex: String,
  pub merkleroot: String,
  pub time: u32,
  pub mediantime: u32,
  pub nonce: u32,
  pub bits: String,
  pub difficulty: f64,
  pub chainwork: String,
  pub nTx: u32,
  pub previousblockhash: String,
  pub nextblockhash: String
}

impl BlockHeader {
  pub fn new(json_str: &str) -> BlockHeader {
    let json_val = json::parse(json_str).unwrap();

    return BlockHeader {
      hash: String::from(json_val["hash"].as_str().unwrap()),
      confirmations: json_val["confirmations"].as_i32().unwrap(),
      height: json_val["height"].as_u32().unwrap(),
      version: json_val["version"].as_u32().unwrap(),
      versionHex: String::from(json_val["versionHex"].as_str().unwrap()),
      merkleroot: String::from(json_val["merkleroot"].as_str().unwrap()),
      time: json_val["time"].as_u32().unwrap(),
      mediantime: json_val["mediantime"].as_u32().unwrap(),
      nonce: json_val["nonce"].as_u32().unwrap(),
      bits: String::from(json_val["bits"].as_str().unwrap()),
      difficulty: json_val["difficulty"].as_f64().unwrap(),
      chainwork: String::from(json_val["chainwork"].as_str().unwrap()),
      nTx: json_val["nTx"].as_u32().unwrap(),
      previousblockhash: if json_val.has_key("previousblockhash") {
        String::from(json_val["previousblockhash"].as_str().unwrap())
      } else {
        String::from("")
      },
      nextblockhash: if json_val.has_key("nextblockhash") {
        String::from(json_val["nextblockhash"].as_str().unwrap())
      } else {
        String::from("")
      }
    };
  }
}