Package common contains various helper functions.



View Source
const Sha256Len = 32

Sha256Len sha256 bytes len


View Source
var ErrNetWorkDealy = errors.New("ErrNetWorkDealy")

ErrNetWorkDealy error

View Source
var ErrPointerNotFound = errors.New("ErrPointerNotFound")

ErrPointerNotFound 指针没有找到


func CopyBytes

func CopyBytes(b []byte) (copiedBytes []byte)

CopyBytes Returns an exact copy of the provided bytes

func FromHex

func FromHex(s string) ([]byte, error)

FromHex hex -> []byte

func GetNtpTime

func GetNtpTime(host string) (time.Time, error)

GetNtpTime 利用服务器返回的 t2, t3, 和本地的 t1, t4 校准时间 delt = ((t2-t1)+(t3-t4))/2 current = t4 + delt

func GetPointer

func GetPointer(id int64) (interface{}, error)

GetPointer 删除指针

func GetRandBytes

func GetRandBytes(min, max int) []byte

GetRandBytes 获取随机字节

func GetRandPrintString

func GetRandPrintString(min, max int) string

GetRandPrintString 获取随机可打印字符串

func GetRandString

func GetRandString(length int) string

GetRandString 获取随机字符串

func GetRealTime

func GetRealTime(hosts []string) time.Time

GetRealTime 获取实际时间

func GetRealTimeRetry

func GetRealTimeRetry(hosts []string, retry int) time.Time

GetRealTimeRetry 重试获取实际时间

func HashHex

func HashHex(d []byte) string

HashHex []byte -> hex

func IsHex

func IsHex(str string) bool

IsHex 是否是hex字符串

func MaxInt32

func MaxInt32(left, right int32) int32

MaxInt32 max

func MinInt32

func MinInt32(left, right int32) int32

MinInt32 min

func RemovePointer

func RemovePointer(id int64)

RemovePointer 删除指针

func Rimp160

func Rimp160(b []byte) []byte

Rimp160 Returns hash: RIMP160( SHA256( data ) ) Where possible, using RimpHash() should be a bit faster

func Sha256

func Sha256(b []byte) []byte

Sha256 加密

func Sha2Sum

func Sha2Sum(b []byte) []byte

Sha2Sum Returns hash: SHA256( SHA256( data ) ) Where possible, using ShaHash() should be a bit faster

func Sha3

func Sha3(b []byte) []byte

Sha3 加密

func StorePointer

func StorePointer(p interface{}) int64

StorePointer 保存指针返回int64

func ToHex

func ToHex(b []byte) string

ToHex []byte -> hex


type Hash

type Hash [Sha256Len]byte

Hash type

func BytesToHash

func BytesToHash(b []byte) Hash

BytesToHash []byte -> hash

func HexToHash

func HexToHash(s string) Hash

HexToHash hex -> hash

func (Hash) Bytes

func (h Hash) Bytes() []byte

Bytes Get the []byte representation of the underlying hash

func (*Hash) SetBytes

func (h *Hash) SetBytes(b []byte)

SetBytes Sets the hash to the value of b. If b is larger than len(h), 'b' will be cropped (from the left).


Path Synopsis
address Package address 计算地址相关的函数
crypto Package crypto 加解密、签名接口定义
crypto/sha3 Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
db Package db 数据库操作底层接口定义以及实现包括:leveldb、 memdb、mvcc、badgerdb、pegasus、ssdb
db/table Package table 实现一个基于kv的关系型数据库的表格功能
difficulty Package difficulty 难度计算基础函数
limits Package limits 实现设置进程打开文件资源数
log Package log 日志相关接口以及函数
log/log15 Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable.
merkle Package merkle 实现默克尔树相关的hash计算
pubsub Package pubsub implements a simple multi-topic pub-sub library.
version Package version 软件版本号
vrf Package vrf defines the interface to a verifiable random function.
vrf/secp256k1 Package secp256k1 implements a verifiable random function using curve secp256k1.