OSDN Git Service

spv merkle tree proof (#1262)
[bytom/bytom.git] / common / bytes.go
index 4fb016a..170cf5f 100644 (file)
@@ -21,9 +21,10 @@ import (
        "bytes"
        "encoding/binary"
        "encoding/hex"
-       "fmt"
        "math/big"
        "strings"
+
+       log "github.com/sirupsen/logrus"
 )
 
 func ToHex(b []byte) string {
@@ -55,7 +56,7 @@ func NumberToBytes(num interface{}, bits int) []byte {
        buf := new(bytes.Buffer)
        err := binary.Write(buf, binary.BigEndian, num)
        if err != nil {
-               fmt.Println("NumberToBytes failed:", err)
+               log.WithField("err", err).Error("NumberToBytes failed")
        }
 
        return buf.Bytes()[buf.Len()-(bits/8):]
@@ -74,7 +75,7 @@ func BytesToNumber(b []byte) uint64 {
        buf := bytes.NewReader(data)
        err := binary.Read(buf, binary.BigEndian, &number)
        if err != nil {
-               fmt.Println("BytesToNumber failed:", err)
+               log.WithField("err", err).Error("BytesToNumber failed")
        }
 
        return number
@@ -264,3 +265,13 @@ func ByteSliceToInterface(slice [][]byte) (ret []interface{}) {
 
        return
 }
+
+func Unit64ToBytes(n uint64) []byte {
+       buf := make([]byte, 8)
+       binary.LittleEndian.PutUint64(buf, n)
+       return buf
+}
+
+func BytesToUnit64(b []byte) uint64 {
+       return binary.LittleEndian.Uint64(b)
+}