mirror of
https://github.com/romanz/electrs.git
synced 2025-02-24 06:57:53 +01:00
Use HeaderMap type
This commit is contained in:
parent
3f183b8fcc
commit
0750e0b670
4 changed files with 11 additions and 11 deletions
|
@ -4,17 +4,15 @@ use bitcoin::network::serialize::BitcoinHash;
|
|||
use bitcoin::network::serialize::RawDecoder;
|
||||
use itertools::enumerate;
|
||||
use reqwest;
|
||||
use std::collections::{HashMap, VecDeque};
|
||||
use std::collections::VecDeque;
|
||||
use std::io::Cursor;
|
||||
|
||||
use util;
|
||||
|
||||
use Bytes;
|
||||
use {Bytes, HeaderMap};
|
||||
|
||||
const HEADER_SIZE: usize = 80;
|
||||
|
||||
type HeaderMap = HashMap<Bytes, BlockHeader>;
|
||||
|
||||
pub struct Daemon {
|
||||
url: String,
|
||||
}
|
||||
|
@ -39,7 +37,7 @@ impl Daemon {
|
|||
}
|
||||
|
||||
fn get_headers(&self) -> (HeaderMap, Bytes) {
|
||||
let mut headers = HashMap::new();
|
||||
let mut headers = HeaderMap::new();
|
||||
let mut blockhash: Bytes = util::from_hex(
|
||||
"6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000",
|
||||
).unwrap(); // genesis block hash
|
||||
|
|
|
@ -8,13 +8,12 @@ use crypto::sha2::Sha256;
|
|||
|
||||
use daemon::Daemon;
|
||||
use pbr;
|
||||
use std::collections::HashMap;
|
||||
use store::{Row, Store};
|
||||
use time;
|
||||
use timer::Timer;
|
||||
use util;
|
||||
|
||||
use Bytes;
|
||||
use {Bytes, HeaderMap};
|
||||
|
||||
const HASH_PREFIX_LEN: usize = 8;
|
||||
|
||||
|
@ -79,7 +78,7 @@ fn index_block(block: &Block, height: usize) -> Vec<Row> {
|
|||
}
|
||||
|
||||
fn get_missing_headers(store: &Store, daemon: &Daemon) -> Vec<(usize, BlockHeader)> {
|
||||
let indexed_headers: HashMap<Bytes, BlockHeader> = store.read_headers();
|
||||
let indexed_headers: HeaderMap = store.read_headers();
|
||||
let mut headers: Vec<(usize, BlockHeader)> = daemon.enumerate_headers();
|
||||
{
|
||||
let best_block_header = &headers.last().unwrap().1;
|
||||
|
|
|
@ -19,9 +19,12 @@ mod timer;
|
|||
mod util;
|
||||
mod waiter;
|
||||
|
||||
use bitcoin::blockdata::block::BlockHeader;
|
||||
use std::collections::HashMap;
|
||||
use store::{Store, StoreOptions};
|
||||
|
||||
type Bytes = Vec<u8>;
|
||||
type HeaderMap = HashMap<Bytes, BlockHeader>;
|
||||
|
||||
fn main() {
|
||||
simple_logger::init_with_level(log::Level::Info).unwrap();
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
use bitcoin::blockdata::block::BlockHeader;
|
||||
use bitcoin::network::serialize::deserialize;
|
||||
use rocksdb;
|
||||
use std::collections::HashMap;
|
||||
use time::{Duration, PreciseTime};
|
||||
|
||||
use Bytes;
|
||||
use HeaderMap;
|
||||
|
||||
pub struct Store {
|
||||
db: rocksdb::DB,
|
||||
|
@ -66,8 +66,8 @@ impl Store {
|
|||
self.start = PreciseTime::now();
|
||||
}
|
||||
|
||||
pub fn read_headers(&self) -> HashMap<Bytes, BlockHeader> {
|
||||
let mut headers = HashMap::new();
|
||||
pub fn read_headers(&self) -> HeaderMap {
|
||||
let mut headers = HeaderMap::new();
|
||||
for row in self.scan(b"B") {
|
||||
let header: BlockHeader = deserialize(&row.value).unwrap();
|
||||
headers.insert(row.key, header);
|
||||
|
|
Loading…
Add table
Reference in a new issue