common

package module
v0.0.0-...-178ae7f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 17, 2018 License: MIT Imports: 20 Imported by: 1

README

common

golang公共函数库

Documentation

Overview

Package common contains various helper functions.

Index

Constants

View Source
const (
	//HashLength    = 32
	AddressLength = 20
)
View Source
const (
	// HashLength the leghth of hash
	HashLength = 32
)

Variables

View Source
var (
	Big1   = big.NewInt(1)
	Big2   = big.NewInt(2)
	Big3   = big.NewInt(3)
	Big0   = big.NewInt(0)
	Big32  = big.NewInt(32)
	Big256 = big.NewInt(0xff)
	Big257 = big.NewInt(257)
)

Common big integers often used

View Source
var (

	// PrintLog default is false. If it is true, all logs will be printed in the console, otherwise they will be stored in the file.
	PrintLog = false

	// IsDebug default is false. If IsDebug is true, the log level will be DebugLevel, otherwise it is InfoLevel
	IsDebug = false
)

Functions

func AbsolutePath

func AbsolutePath(Datadir string, filename string) string

func Bytes2Hex

func Bytes2Hex(d []byte) string

func ConvertInt64ToBytes

func ConvertInt64ToBytes(num int64) []byte

ConvertInt64ToBytes converts a int64 value into a byte array

func CopyBytes

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

Copy bytes

Returns an exact copy of the provided bytes

func FileExist

func FileExist(filePath string) bool

func FileOrFolderExists

func FileOrFolderExists(fileOrFolder string) bool

FileOrFolderExists checks if a file or folder exists

func FromHex

func FromHex(s string) []byte

func GetDefaultDataFolder

func GetDefaultDataFolder() string

GetDefaultDataFolder gets the default data Folder

func GetTempFolder

func GetTempFolder() string

GetTempFolder uses a getter to implement readonly

func HasHexPrefix

func HasHexPrefix(str string) bool

func Hex2Bytes

func Hex2Bytes(str string) []byte

func Hex2BytesFixed

func Hex2BytesFixed(str string, flen int) []byte

func IsHex

func IsHex(str string) bool

func IsHexAddress

func IsHexAddress(s string) bool

IsHexAddress verifies whether a string can represent a valid hex-encoded Ethereum address or not.

func LeftPadBytes

func LeftPadBytes(slice []byte, l int) []byte

func LoadJSON

func LoadJSON(file string, val interface{}) error

LoadJSON reads the given file and unmarshals its content.

func MakeName

func MakeName(name, version string) string

MakeName creates a node name that follows the ethereum convention for such names. It adds the operation system name and Go runtime version the name.

func PrintDepricationWarning

func PrintDepricationWarning(str string)

PrintDepricationWarning prinst the given string in a box using fmt.Println.

func Report

func Report(extra ...interface{})

Report gives off a warning requesting the user to submit an issue to the github tracker.

func RightPadBytes

func RightPadBytes(slice []byte, l int) []byte

func ToHex

func ToHex(b []byte) string

Types

type Address

type Address [AddressLength]byte

Address represents the 20 byte address of an Ethereum account.

func BigToAddress

func BigToAddress(b *big.Int) Address

BigToAddress converts a big int to address.

func BytesToAddress

func BytesToAddress(bs []byte) Address

BytesToAddress converts the specified byte array to Address.

func NewAddress

func NewAddress(b []byte) (Address, error)

NewAddress converts a byte slice to a Address

func StringToAddress

func StringToAddress(s string) Address
func BytesToAddress(b []byte) Address {
	var a Address
	a.SetBytes(b)
	return a
}

func (Address) Big

func (a Address) Big() *big.Int

func (Address) Bytes

func (a Address) Bytes() []byte

func (*Address) Equal

func (id *Address) Equal(b Address) bool

func (Address) Format

func (a Address) Format(s fmt.State, c rune)

Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.

func (Address) Hash

func (a Address) Hash() Hash

func (Address) Hex

func (a Address) Hex() string

Hex returns an EIP55-compliant hex string representation of the address.

func (Address) MarshalText

func (a Address) MarshalText() ([]byte, error)

MarshalText returns the hex representation of a.

func (*Address) Set

func (a *Address) Set(other Address)

Sets a to other

func (*Address) SetBytes

func (a *Address) SetBytes(b []byte)

Sets the address to the value of b. If b is larger than len(a) it will panic

func (*Address) SetString

func (a *Address) SetString(s string)

Set string `s` to a. If s is larger than len(a) it will panic

func (Address) Str

func (a Address) Str() string

Get the string representation of the underlying address

func (Address) String

func (a Address) String() string

String implements the stringer interface and is used also by the logger.

func (*Address) ToHex

func (id *Address) ToHex() string

func (*Address) UnmarshalJSON

func (a *Address) UnmarshalJSON(input []byte) error

UnmarshalJSON parses a hash in hex syntax.

func (*Address) UnmarshalText

func (a *Address) UnmarshalText(input []byte) error

UnmarshalText parses a hash in hex syntax.

type Hash

type Hash [HashLength]byte

Hash the hash value generated by sha-3

var EmptyHash Hash = Hash{}

func BigToHash

func BigToHash(b *big.Int) Hash

BigToHash converts a big int to Hash.

func BytesToHash

func BytesToHash(b []byte) Hash

BytesToHash converts bytes to hash value

func HexToHash

func HexToHash(hex string) (Hash, error)

func StringToHash

func StringToHash(s string) Hash

StringToHash converts a string to the hash

func (Hash) Big

func (a Hash) Big() *big.Int

Big converts this Hash to a big int.

func (Hash) Bytes

func (a Hash) Bytes() []byte

Bytes returns its actual bits

func (Hash) Equal

func (a Hash) Equal(b Hash) bool

Equal returns a boolean value indicating whether the hash a is equal to the input hash b.

func (Hash) Format

func (h Hash) Format(s fmt.State, c rune)

Format implements fmt.Formatter, forcing the byte slice to be formatted as is, without going through the stringer interface used for logging.

func (Hash) Generate

func (h Hash) Generate(rand *rand.Rand, size int) reflect.Value

Generate implements testing/quick.Generator.

func (Hash) Hex

func (h Hash) Hex() string

func (h Hash) Bytes() []byte { return h[:] } func (h Hash) Big() *big.Int { return new(big.Int).SetBytes(h[:]) }

func (Hash) IsEmpty

func (a Hash) IsEmpty() bool

IsEmpty return true if this hash is empty. Otherwise, false.

func (Hash) MarshalText

func (h Hash) MarshalText() ([]byte, error)

MarshalText returns the hex representation of h.

func (*Hash) Set

func (h *Hash) Set(other Hash)

Sets h to other

func (*Hash) SetBytes

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

SetBytes sets the hash to the value of b. If b is greater than len(a) it will panic

func (*Hash) SetString

func (h *Hash) SetString(s string)

Set string `s` to h. If s is larger than len(h) s will be cropped (from left) to fit.

func (Hash) Str

func (h Hash) Str() string

Get the string representation of the underlying hash

func (Hash) String

func (a Hash) String() string

String returns the string representation of the hash

func (Hash) TerminalString

func (h Hash) TerminalString() string

TerminalString implements log.TerminalStringer, formatting a string for console output during logging.

func (Hash) ToHex

func (a Hash) ToHex() string

ToHex returns the hex form of the hash

func (*Hash) UnmarshalJSON

func (h *Hash) UnmarshalJSON(input []byte) error

UnmarshalJSON parses a hash in hex syntax.

func (*Hash) UnmarshalText

func (h *Hash) UnmarshalText(input []byte) error

UnmarshalText parses a hash in hex syntax.

type PrettyDuration

type PrettyDuration time.Duration

PrettyDuration is a pretty printed version of a time.Duration value that cuts the unnecessary precision off from the formatted textual representation.

func (PrettyDuration) String

func (d PrettyDuration) String() string

String implements the Stringer interface, allowing pretty printing of duration values rounded to three decimals.

type StorageSize

type StorageSize float64

func (StorageSize) Int64

func (self StorageSize) Int64() int64

func (StorageSize) String

func (self StorageSize) String() string

type UnprefixedAddress

type UnprefixedAddress Address

UnprefixedHash allows marshaling an Address without 0x prefix.

func (UnprefixedAddress) MarshalText

func (a UnprefixedAddress) MarshalText() ([]byte, error)

MarshalText encodes the address as hex.

func (*UnprefixedAddress) UnmarshalText

func (a *UnprefixedAddress) UnmarshalText(input []byte) error

UnmarshalText decodes the address from hex. The 0x prefix is optional.

type UnprefixedHash

type UnprefixedHash Hash

UnprefixedHash allows marshaling a Hash without 0x prefix.

func (UnprefixedHash) MarshalText

func (h UnprefixedHash) MarshalText() ([]byte, error)

MarshalText encodes the hash as hex.

func (*UnprefixedHash) UnmarshalText

func (h *UnprefixedHash) UnmarshalText(input []byte) error

UnmarshalText decodes the hash from hex. The 0x prefix is optional.

Directories

Path Synopsis
Package bitutil implements fast bitwise operations.
Package bitutil implements fast bitwise operations.
Package hexutil implements hex encoding with 0x prefix.
Package hexutil implements hex encoding with 0x prefix.
Package math provides integer math utilities.
Package math provides integer math utilities.
package mclock is a wrapper for a monotonic clock source
package mclock is a wrapper for a monotonic clock source
Package metrics provides general system and process level metrics collection.
Package metrics provides general system and process level metrics collection.
net

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL