Documentation ¶
Index ¶
- Constants
- Variables
- func Base58Decode(s string) []byte
- func Base58Encode(raw []byte) string
- func BytesToFloat64(b []byte) float64
- func BytesToInt32(b []byte) int32
- func BytesToInt64(b []byte) int64
- func CopyBytes(b []byte) (copiedBytes []byte)
- func Float64ToBytes(f float64) []byte
- func FromHex(s string) []byte
- func Hex2Bytes(str string) []byte
- func Int32ToBytes(n int32) []byte
- func Int64ToBytes(n int64) []byte
- func IsWitness(w string, witnessList []string) bool
- func LoadYamlAsViper(configfile string) *viper.Viper
- func Parity(bit []byte) []byte
- func ParseHex(s string) []byte
- func Sha3(raw []byte) []byte
- func SlotOfNanoSec(nanosec int64) int64
- func StringSliceEqual(a, b []string) bool
- func TimeUntilNextSchedule(timeSec int64) int64
- func ToHex(data []byte) string
- func UnifyDecimal(a *Fixed, b *Fixed) (*Fixed, *Fixed, error)
- func WitnessOfNanoSec(nanosec int64, witnessList []string) string
- type ACCConfig
- type Config
- type ConsoleLogConfig
- type DBConfig
- type DebugConfig
- type FileLogConfig
- type Fixed
- func (f *Fixed) Add(other *Fixed) *Fixed
- func (f *Fixed) BiggerThan(other *Fixed) bool
- func (f *Fixed) ChangeDecimal(targetDecimal int) *Fixed
- func (f *Fixed) Div(i int64) *Fixed
- func (f *Fixed) Equals(other *Fixed) bool
- func (f *Fixed) IsNegative() bool
- func (f *Fixed) IsPositive() bool
- func (f *Fixed) IsZero() bool
- func (f *Fixed) LessThan(other *Fixed) bool
- func (f *Fixed) Marshal() string
- func (f *Fixed) Multiply(other *Fixed) *Fixed
- func (f *Fixed) Neg() *Fixed
- func (f *Fixed) ShrinkDecimal() *Fixed
- func (f *Fixed) Sub(other *Fixed) *Fixed
- func (f *Fixed) Times(i int64) *Fixed
- func (f *Fixed) TimesF(v float64) *Fixed
- func (f *Fixed) ToFloat() float64
- func (f *Fixed) ToString() string
- func (f *Fixed) ToStringWithDecimal() string
- type GenesisConfig
- type LogConfig
- type MetricsConfig
- type P2PConfig
- type RPCConfig
- type SimpleDecoder
- type SimpleEncoder
- func (se *SimpleEncoder) Bytes() []byte
- func (se *SimpleEncoder) Reset()
- func (se *SimpleEncoder) WriteByte(b byte)
- func (se *SimpleEncoder) WriteBytes(bs []byte)
- func (se *SimpleEncoder) WriteBytesSlice(p [][]byte)
- func (se *SimpleEncoder) WriteFloat64(f float64)
- func (se *SimpleEncoder) WriteInt32(i int32)
- func (se *SimpleEncoder) WriteInt64(i int64)
- func (se *SimpleEncoder) WriteMapStringToI64(m map[string]int64)
- func (se *SimpleEncoder) WriteString(s string)
- func (se *SimpleEncoder) WriteStringSlice(p []string)
- type SnapshotConfig
- type TokenInfo
- type VMConfig
- type VersionConfig
- type Witness
Constants ¶
const ( VoteInterval = 1200 SlotTime = 3 * time.Second BlockNumPerWitness = 6 )
consts
Variables ¶
var ( MaxBlockGasLimit = int64(800000000) MaxTxTimeLimit = 200 * time.Millisecond MaxBlockTimeLimit = 400 * time.Millisecond )
Constant of limit
Functions ¶
func BytesToFloat64 ¶ added in v1.1.0
BytesToFloat64 converts byte slice to float64.
func BytesToInt32 ¶ added in v1.1.0
BytesToInt32 converts byte slice to int32.
func Float64ToBytes ¶ added in v1.1.0
Float64ToBytes converts float64 to byte slice.
func Int32ToBytes ¶ added in v1.1.0
Int32ToBytes converts int32 to byte slice.
func LoadYamlAsViper ¶ added in v1.1.0
LoadYamlAsViper load yaml file as viper object
func SlotOfNanoSec ¶
SlotOfNanoSec will return current slot number.
func StringSliceEqual ¶
StringSliceEqual is compare two strings
func TimeUntilNextSchedule ¶
TimeUntilNextSchedule will return the time left in the next slot.
func UnifyDecimal ¶ added in v1.1.0
UnifyDecimal make two fix point number have same decimal.
func WitnessOfNanoSec ¶
WitnessOfNanoSec will return which witness is the current time.
Types ¶
type Config ¶
type Config struct { ACC *ACCConfig Genesis string VM *VMConfig DB *DBConfig Snapshot *SnapshotConfig P2P *P2PConfig RPC *RPCConfig Log *LogConfig Metrics *MetricsConfig Debug *DebugConfig Version *VersionConfig }
Config provide all configuration for the application
type ConsoleLogConfig ¶
ConsoleLogConfig is the config for consolewriter of ilog.
type DebugConfig ¶
type DebugConfig struct {
ListenAddr string
}
DebugConfig is the config of debug.
type FileLogConfig ¶
FileLogConfig is the config for filewriter of ilog.
type Fixed ¶ added in v1.1.0
Fixed implements fixed point number for user of token balance
func NewFixed ¶ added in v1.1.0
NewFixed generate Fixed from string and decimal, will truncate if decimal is smaller. Decimal < 0 means auto detecting decimal
func UnmarshalFixed ¶ added in v1.1.0
UnmarshalFixed unmarshal from string
func (*Fixed) BiggerThan ¶ added in v1.1.0
BiggerThan ...
func (*Fixed) ChangeDecimal ¶ added in v1.1.0
ChangeDecimal change decimal to give decimal, without changing its real value
func (*Fixed) ShrinkDecimal ¶
ShrinkDecimal remove trailing 0s
func (*Fixed) ToStringWithDecimal ¶ added in v1.1.0
ToStringWithDecimal convert to string with tailing 0s
type GenesisConfig ¶
type GenesisConfig struct { CreateGenesis bool InitialTimestamp string TokenInfo *TokenInfo WitnessInfo []*Witness ContractPath string AdminInfo *Witness FoundationInfo *Witness }
GenesisConfig config of the genesis bloc
type LogConfig ¶
type LogConfig struct { FileLog *FileLogConfig ConsoleLog *ConsoleLogConfig AsyncWrite bool EnableContractLog bool }
LogConfig is the config of ilog.
type MetricsConfig ¶
MetricsConfig is the config of metrics.
type P2PConfig ¶
type P2PConfig struct { ListenAddr string SeedNodes []string ChainID uint32 Version uint16 DataPath string InboundConn int OutboundConn int BlackPID []string BlackIP []string AdminPort string }
P2PConfig is the config for p2p network.
type RPCConfig ¶
type RPCConfig struct { Enable bool GatewayAddr string GRPCAddr string AllowOrigins []string TryTx bool ExecTx bool }
RPCConfig is the config for RPC Server.
type SimpleDecoder ¶
type SimpleDecoder struct {
// contains filtered or unexported fields
}
SimpleDecoder is a simple decoder used to convert bytes to other types. Not used now!!!
func NewSimpleDecoder ¶
func NewSimpleDecoder(input []byte) *SimpleDecoder
NewSimpleDecoder returns a new SimpleDecoder instance.
func (*SimpleDecoder) ParseByte ¶
func (sd *SimpleDecoder) ParseByte() (byte, error)
ParseByte parse input, return first byte
func (*SimpleDecoder) ParseBytes ¶
func (sd *SimpleDecoder) ParseBytes() ([]byte, error)
ParseBytes parse input, return first byte array
func (*SimpleDecoder) ParseInt32 ¶
func (sd *SimpleDecoder) ParseInt32() (int32, error)
ParseInt32 parse input, return first int32
type SimpleEncoder ¶
type SimpleEncoder struct {
// contains filtered or unexported fields
}
SimpleEncoder is a simple encoder used to convert struct to bytes.
func NewSimpleEncoder ¶
func NewSimpleEncoder() *SimpleEncoder
NewSimpleEncoder returns a new SimpleEncoder instance.
func (*SimpleEncoder) Bytes ¶
func (se *SimpleEncoder) Bytes() []byte
Bytes returns the result bytes of buffer.
func (*SimpleEncoder) WriteByte ¶
func (se *SimpleEncoder) WriteByte(b byte)
WriteByte writes a byte to buffer.
func (*SimpleEncoder) WriteBytes ¶
func (se *SimpleEncoder) WriteBytes(bs []byte)
WriteBytes writes a byte slice to buffer.
func (*SimpleEncoder) WriteBytesSlice ¶
func (se *SimpleEncoder) WriteBytesSlice(p [][]byte)
WriteBytesSlice writes a bytes slice to buffer.
func (*SimpleEncoder) WriteFloat64 ¶
func (se *SimpleEncoder) WriteFloat64(f float64)
WriteFloat64 writes a float64 to buffer.
func (*SimpleEncoder) WriteInt32 ¶
func (se *SimpleEncoder) WriteInt32(i int32)
WriteInt32 writes a int32 to buffer.
func (*SimpleEncoder) WriteInt64 ¶
func (se *SimpleEncoder) WriteInt64(i int64)
WriteInt64 writes a int64 to buffer.
func (*SimpleEncoder) WriteMapStringToI64 ¶
func (se *SimpleEncoder) WriteMapStringToI64(m map[string]int64)
WriteMapStringToI64 writes a map[string]int64 to buffer.
func (*SimpleEncoder) WriteString ¶
func (se *SimpleEncoder) WriteString(s string)
WriteString writes a string to buffer.
func (*SimpleEncoder) WriteStringSlice ¶
func (se *SimpleEncoder) WriteStringSlice(p []string)
WriteStringSlice writes a string slice to buffer.
type SnapshotConfig ¶
SnapshotConfig is the config of snapshot
type VersionConfig ¶ added in v1.1.0
VersionConfig contrains netname(mainnet / testnet etc) and protocol info