arnaucube
arnaucube/bcPublic Self-hosted repository
bc/peer/blockchainlib/block.go
peer/blockchainlib/block.goRaw
 1package blockchainlib
 2
 3import (
 4	"crypto/sha256"
 5	"encoding/base64"
 6	"encoding/json"
 7	"log"
 8)
 9
10func HashBlock(b Block) string {
11	blockJson, err := json.Marshal(b)
12	if err != nil {
13		log.Println(err)
14	}
15	blockString := string(blockJson)
16
17	h := sha256.New()
18	h.Write([]byte(blockString))
19	return base64.URLEncoding.EncodeToString(h.Sum(nil))
20}