chain_config

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2019 License: LGPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AppName = "dipperin"
	Version = "1.0.0"

	BootEnvTagName = "boots_env"

	StaticBootNodesFileName         = "static_boot_nodes.json"
	StaticVerifierBootNodesFileName = "static_verifier_boot_nodes.json"

	MineProtocolVersion = 1
	CsProtocolVersion   = 1

	TestServer               = "10.200.0.139"
	TestVerifierBootNodePort = "10000"

	// 20M
	MaxBlockSize = 20 * 1024 * 1024
	MaxTxSize    = 512 * 1024
)
View Source
const (
	NodeTypeOfNormal = iota
	NodeTypeOfMineMaster
	NodeTypeOfVerifier
	NodeTypeOfVerifierBoot
)
View Source
const (
	InitVBootPort = 10000
)

Variables

View Source
var (
	VerifierBootNodes []*enode.Node
	KBucketNodes      []*enode.Node
)

verifier boot nodes

View Source
var (

	// roughly generate a block per 5s
	//GenesisDifficulty      = common.HexToDiff("0x1e077011")
	// roughly generate a block per 1~3s
	//GenesisDifficulty      = common.HexToDiff("0x1e17f011")
	// Produce block very quickly
	GenesisDifficulty = common.HexToDiff("0x1e566611")
)
View Source
var LocalVerifierAddress = []common.Address{
	common.HexToAddress("0x00004179D57e45Cb3b54D6FAEF69e746bf240E287978"),
	common.HexToAddress("0x00005ECCF0AAa6E8F451078448a182970e80cbDd253b"),
	common.HexToAddress("0x00006532255660D9e228D997dcD827DeC685b9a17ca1"),
	common.HexToAddress("0x00006fC7E9B39d6C00A767AAdA3e05AEA7ba8d71ED6D"),

	common.HexToAddress("0x00003C42E3d16DD59Db56E741d290775443449688B20"),
	common.HexToAddress("0x0000e447B8B7851D3FBD5C6A03625D288cfE9Bb5eF0E"),
	common.HexToAddress("0x00007eDe4D5D808DA8a267284b38E00ABccb42889dF2"),
	common.HexToAddress("0x0000918c773880B462929ACE4F975CcfED9Be2d8Efc9"),

	common.HexToAddress("0x0000492447E4081D73521B6834Ce62EEF4F3F5E8bBb7"),
	common.HexToAddress("0x0000d552C7ec7735668571a8ed92b57122F21fCea599"),
	common.HexToAddress("0x00000add04ac4d527De866cDE4c93aE1662214617B12"),
	common.HexToAddress("0x0000ea4B978Ad52D5cbEFAd6f4e3db1688eD6B659137"),

	common.HexToAddress("0x00002B9Af8390C3ca1Da57054dC8947c9f92a1CA0C99"),
	common.HexToAddress("0x0000F984742B330EC987C3DF79C71cE1e729498Cc613"),
	common.HexToAddress("0x0000D8FBa7dD94654E3dfbfa78B76bb40dB605b4E6cA"),
	common.HexToAddress("0x00000C6B87DD03d80d229031dadC2cd10Fd8A8C24133"),

	common.HexToAddress("0x0000FcD90394e9E902220Bfd7A2d04431b3CFBa2e2dD"),
	common.HexToAddress("0x0000b57898Eb80649b2F9993d8A3941Ed195961368E9"),
	common.HexToAddress("0x0000DAa28eC52c284ca84AacBD69039269d7a36247c2"),
	common.HexToAddress("0x0000F55bE671e8ff2184B0C7181ae0E4CD92429C034C"),

	common.HexToAddress("0x00005966FFECc91F26BF9b6BB2b7E09A0d00465e2940"),
	common.HexToAddress("0x0000C2C56C661b64F6Ed59056281A084D7CDC4512A80"),
}
View Source
var MercuryVerifierAddress = []common.Address{
	common.HexToAddress("0x000078b33598Be2b405206F44B018557e6F851FD230C"),
	common.HexToAddress("0x0000A7b583021662C419Eefe7c0ac1e0d274057409Ad"),
	common.HexToAddress("0x000063071B04aD60aC6b4B615923528d9002a42A7Aa1"),
	common.HexToAddress("0x0000f33dC39ab9e895FbE565F01Dc60024899597dc73"),
	common.HexToAddress("0x0000Ee06Edf0e0F517F6d9e8C56e0b2D4fCe9B958e55"),
	common.HexToAddress("0x0000bD97c807B546f4d4fC883D54E30C1E1ccB3519cB"),
	common.HexToAddress("0x000082360017EC9cc2B33aC8cF334Cd14EC84B5c4daA"),
	common.HexToAddress("0x0000928d193F24a48E90426C2856d1711367CB697E38"),
	common.HexToAddress("0x0000AFaC04B71E2dCF9f77D86973bfA6d34606AfE3eF"),
	common.HexToAddress("0x000073ecFCA0DdABe90736687fecf6C49e4FcE74eD56"),
	common.HexToAddress("0x00003967BBD60a105F053a8b0EbC94568b67694Db41D"),
	common.HexToAddress("0x00006af0dC708a56db1Ac5F66Fb666CeacdF7BE87f15"),
	common.HexToAddress("0x0000D1ffC606Fbe82385e9F9B03E441b43D3E7Db1BA1"),
	common.HexToAddress("0x00007135d43D27BD03DB61db93c095C75aDAacf6ca1d"),
	common.HexToAddress("0x00004Ee1E62C73f235eF6d0ae7017A3C9B6858dD1793"),
	common.HexToAddress("0x0000daDfA0f4b3C075bA67b5E7d20e4EE8e9281abFc6"),
	common.HexToAddress("0x0000ce531FA8e6597C14a1b0f5d439C9503B0004CaBB"),
	common.HexToAddress("0x0000e6Ad4c32839581C1E6c884625B8cE62062796013"),
	common.HexToAddress("0x0000B1355886B1E6Ac4C82a9051f1f3f7E2C4074AE15"),
	common.HexToAddress("0x0000644a63bA03454ec741633691Aad6C954b8749e5e"),
	common.HexToAddress("0x000080f27eEa245F8D51E343fa662fC5413FAc3C0cba"),
	common.HexToAddress("0x0000Eae39Ffc4eF47289CF03589FF29f3c2ed07aD48c"),
	common.HexToAddress("0x000047a7991019470c1d481150aea4fD37bA430E3A5a"),
	common.HexToAddress("0x0000bA409e68858EBD204fc65f28A70b9E3d9a69F201"),
	common.HexToAddress("0x0000D7FC3720982cA441963273F8b991D8FD226235e0"),
	common.HexToAddress("0x000065914d6b1e21D38393008FaccbDE232a2B2290CE"),
	common.HexToAddress("0x00008d0755C8A3bA68d79F97Cc27a1E76Baec4575247"),
	common.HexToAddress("0x00007c8D31899AFD9bA8E2aC5692fC96cC8DC65EC291"),
	common.HexToAddress("0x0000cfAFf77A09079Ee172e0a49A2F98Ede21d7EDcF6"),
	common.HexToAddress("0x0000E28d3f979Ce3d5E07D7BbEe31cC37A37fdbA94A0"),
	common.HexToAddress("0x0000Dc3aac7d4ab489E882E755c75f71907505A5178C"),
}
View Source
var VerBootNodeAddress []common.Address
View Source
var VerifierBootNodeAddress = []common.Address{
	common.HexToAddress("0x0000A1B7a7B7BA883E1BEF8B9D312a430e857Ee20B17"),
	common.HexToAddress("0x000002430bcfEE64A8DEeDD44C1Cb447662c383e8520"),
	common.HexToAddress("0x00001A95C8c94dFb6afd76c6898Cd1F98F66C9Feb2FA"),
	common.HexToAddress("0x0000757288b575D7C1E5BC57DA54e0D75D9D9662edB9"),
}

Functions

func DefaultDataDir

func DefaultDataDir() string

func GetCurBootsEnv

func GetCurBootsEnv() string

Get the operating environment:test mercury

func InitBootNodes

func InitBootNodes(dataDir string)

func LoadBootNodesFromFile

func LoadBootNodesFromFile(dataDir string) (bootNodes []*enode.Node)

func LoadNodesFromFile

func LoadNodesFromFile(fileP string) (bootNodes []*enode.Node)

func LoadVerifierBootNodesFromFile

func LoadVerifierBootNodesFromFile(dataDir string) (vBootNodes []*enode.Node)

func NewMercuryVBoots

func NewMercuryVBoots() []*enode.Node

Types

type ChainConfig

type ChainConfig struct {
	//DeriveShaType int
	ChainId *big.Int
	// Version
	Version uint64
	// chain network id
	NetworkID uint64

	SupportHardwareWallet bool

	// db conf
	DatabaseHandles int `toml:"-"`
	DatabaseCache   int

	// elect conf
	// verify segment size
	SlotSize uint64
	// verifier deposit lock period
	StakeLockSlot uint64
	// the interval of the Verify section from the election section
	SlotMargin uint64
	// pbft verifier number
	VerifierNumber int

	//system verifier priority
	SystemVerifierPriority uint64

	//mine conf
	//mining maximum difficulty value
	MainPowLimit *big.Int
	//average block generation duration
	BlockGenerate uint64
	//the block number in a difficulty adjust cycle
	BlockCountOfPeriod uint64

	//verifier boot node number
	VerifierBootNodeNumber int

	//timeStamp restriction
	BlockTimeRestriction time.Duration
}

func GetChainConfig

func GetChainConfig() *ChainConfig

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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