cranberry

Форк
0
/
block.go 
30 строк · 620.0 Байт
1
package utility
2

3
import (
4
	"crypto/sha256"
5
	"encoding/hex"
6

7
	pbapi "gitverse.ru/IvanTimofeev/cranberry/pkg/grpc"
8
	"google.golang.org/protobuf/proto"
9
)
10

11
func BlockHeaderToBytes(bh *pbapi.BlockHeader) []byte {
12
	data, err := proto.Marshal(bh)
13
	if err != nil {
14
		panic(err)
15
	}
16
	return data
17
}
18

19
func BlockHeaderToHash(bh *pbapi.BlockHeader) string {
20
	hashBytes := BlockHeaderToHashBytes(bh)
21
	return hex.EncodeToString(hashBytes)
22
}
23

24
func BlockHeaderToHashBytes(bh *pbapi.BlockHeader) []byte {
25
	data := BlockHeaderToBytes(bh)
26
	h := sha256.New()
27
	h.Write(data)
28
	hash := h.Sum(nil)
29
	return hash[:]
30
}
31

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.