cranberry

Форк
0
39 строк · 697.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 BytesToTx(data []byte) *pbapi.Tx {
12
	tx := &pbapi.Tx{}
13
	err := proto.Unmarshal(data, tx)
14
	if err != nil {
15
		panic(err)
16
	}
17
	return tx
18
}
19

20
func TxToBytes(tx *pbapi.Tx) []byte {
21
	data, err := proto.Marshal(tx)
22
	if err != nil {
23
		panic(err)
24
	}
25
	return data
26
}
27

28
func TxToHashBytes(tx *pbapi.Tx) []byte {
29
	data := TxToBytes(tx)
30
	h := sha256.New()
31
	h.Write(data)
32
	hash := h.Sum(nil)
33
	return hash[:]
34
}
35

36
func TxToHash(tx *pbapi.Tx) string {
37
	hashBytes := TxToHashBytes(tx)
38
	return hex.EncodeToString(hashBytes)
39
}
40

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

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

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

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