How can I get the key of blockindex

How can I get the key of blockindex

According to this post: What are the keys used in the blockchain levelDB (ie what are the key:value pairs)?

One type of the keys in leveldb of bitcoin is formed in the following way

'b' + 32-byte block hash

I wrote the following code in go but I got "not found".

genesisBlockHash := "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
hashBytes, _ := hex.DecodeString(genesisBlockHash)
keyBytes := append([]byte("b"), hashBytes...)
data, err := db.Get(keyBytes, nil)

Where did I do wrong? How can I add 'b' to the hash?

Tried a simple case:

'R' -> 1-byte boolean ('1' if true): whether we're in the process of reindexing.

Go code

data, err := db.Get([]byte("R"), nil)

But I still got "not found". Why...

Tried file.

'f' + 4-byte file number -> file information record.

I could get some data. I think the following code should retrieve the "blk00000.dat" block file information, right?

readFile(db, []byte{0, 0, 0, 0})

func readFile(db *leveldb.DB, file []byte) {
    data, err := db.Get(append([]byte("f"), file...), nil)
    if err != nil {
        log.Println(err)
        os.Exit(1)
    }
    // read data
}
https://ift.tt/2MTE47y

Comments

Popular posts from this blog

bitcoin node: what is the difference between simnet and regtest?

How to check if Electrum is masking my IP with the Tor proxy?

Need help to recover blpckchain.info wallet, my wife forgot her password and the brute force with btcrecover is not catching the password