Documentation ¶
Index ¶
- Constants
- Variables
- func GetNetworkMagic(id uint32) uint32
- func GetNetworkName(id uint32) string
- func GetStateHashCheckHeight(id uint32) uint32
- type CommonConfig
- type ConsensusConfig
- type DBFTConfig
- type DNAConfig
- type GenesisConfig
- type P2PNodeConfig
- type P2PRsvConfig
- type RestfulConfig
- type RpcConfig
- type SOLOConfig
- type VBFTConfig
- type VBFTPeerStakeInfo
- type WebSocketConfig
Constants ¶
View Source
const ( DEFAULT_CONFIG_FILE_NAME = "./config.json" DEFAULT_WALLET_FILE_NAME = "./executor.dat" MIN_GEN_BLOCK_TIME = 2 DEFAULT_GEN_BLOCK_TIME = 6 DBFT_MIN_NODE_NUM = 4 //min node number of dbft consensus SOLO_MIN_NODE_NUM = 1 //min node number of solo consensus VBFT_MIN_NODE_NUM = 4 //min node number of vbft consensus CONSENSUS_TYPE_DBFT = "dbft" CONSENSUS_TYPE_SOLO = "solo" CONSENSUS_TYPE_VBFT = "vbft" DEFAULT_LOG_LEVEL = log.InfoLog DEFAULT_MAX_LOG_SIZE = 100 //MByte DEFAULT_NODE_PORT = uint(20338) DEFAULT_CONSENSUS_PORT = uint(20339) DEFAULT_RPC_PORT = uint(20336) DEFAULT_RPC_LOCAL_PORT = uint(20337) DEFAULT_REST_PORT = uint(20334) DEFAULT_WS_PORT = uint(20335) DEFAULT_REST_MAX_CONN = uint(1024) DEFAULT_MAX_CONN_IN_BOUND = uint(1024) DEFAULT_MAX_CONN_OUT_BOUND = uint(1024) DEFAULT_MAX_CONN_IN_BOUND_FOR_SINGLE_IP = uint(16) DEFAULT_HTTP_INFO_PORT = uint(0) DEFAULT_MAX_TX_IN_BLOCK = 60000 DEFAULT_MAX_SYNC_HEADER = 500 DEFAULT_ENABLE_CONSENSUS = true DEFAULT_ENABLE_EVENT_LOG = true DEFAULT_CLI_RPC_PORT = uint(20000) DEFUALT_CLI_RPC_ADDRESS = "127.0.0.1" DEFAULT_GAS_LIMIT = 20000 DEFAULT_GAS_PRICE = 500 DEFAULT_DATA_DIR = "./Chain" DEFAULT_RESERVED_FILE = "./peers.rsv" )
View Source
const ( NETWORK_ID_MAIN_NET = 1 NETWORK_ID_POLARIS_NET = 2 NETWORK_ID_SOLO_NET = 3 NETWORK_NAME_MAIN_NET = "DNA" NETWORK_NAME_POLARIS_NET = "polaris" NETWORK_NAME_SOLO_NET = "testmode" )
Variables ¶
View Source
var DefConfig = NewDNAConfig()
View Source
var MainNetConfig = &GenesisConfig{ SeedList: []string{ "127.0.0.1:20338"}, ConsensusType: CONSENSUS_TYPE_VBFT, VBFT: &VBFTConfig{ N: 7, C: 2, K: 7, L: 112, BlockMsgDelay: 10000, HashMsgDelay: 10000, PeerHandshakeTimeout: 10, MaxBlockChangeView: 120000, AdminOntID: "did:dna:AdjfcJgwru2FD8kotCPvLDXYzRjqFjc9Tb", MinInitStake: 100000, VrfValue: "1c9810aa9822e511d5804a9c4db9dd08497c31087b0daafa34d768a3253441fa20515e2f30f81741102af0ca3cefc4818fef16adb825fbaa8cad78647f3afb590e", VrfProof: "c57741f934042cb8d8b087b44b161db56fc3ffd4ffb675d36cd09f83935be853d8729f3f5298d12d6fd28d45dde515a4b9d7f67682d182ba5118abf451ff1988", Peers: []*VBFTPeerStakeInfo{ { Index: 1, PeerPubkey: "02bd9570d923a22c637d0e7c742824db39cfa4fa87bf5e594ffba1cd3653eed08e", Address: "AZMwFs9ey3sdUsMFJ65W5TUbKUc87Ng4HF", }, { Index: 2, PeerPubkey: "02a2a00e560bf2be370f9f014058241747a1504077005613a4be3231c3541b7746", Address: "AFtt1nqsbbfS6DYzUs5SYqfJHxXk9yVZ2F", }, { Index: 3, PeerPubkey: "03e818b65a66d983a99497e06c6552ee5067229e85ba1cec60c5477dc3d568ed43", Address: "ATECwFPNRZFydFR1yUjb6RTLfVcKGKWRmp", }, { Index: 4, PeerPubkey: "02375e44e500f9cfe8bd2f4afa4a016a8a902567996c919b9d1ce4f5d4f930f145", Address: "AKMxTuHQtt5YspXNPwkQNP5ZY66c4LY5BR", }, { Index: 5, PeerPubkey: "03af040c09af5e06cf966f73fc99e8f4372f1510fe6e4376824452a99b85695a9c", Address: "AT4fXp36Ui22Lbh5ZJUCRBFDJ7axkLyUFM", }, { Index: 6, PeerPubkey: "034ee2a4368e999fc7c04e7e3a9073162d47712382f1690d6a67e7e1c475cd0ff3", Address: "ANLRokqieUtrUMave66FcNy2cxV7Whf4UN", }, { Index: 7, PeerPubkey: "0327f9e0fb3b894027c52caf3d31d9ac5f676d3cf892c933ac107ed7447fb6e65b", Address: "AVRD9QmkYNq8n8DXc9AqpZnUEYhjg1aq5L", }, }, }, DBFT: &DBFTConfig{}, SOLO: &SOLOConfig{}, }
View Source
var NETWORK_MAGIC = map[uint32]uint32{ NETWORK_ID_MAIN_NET: constants.NETWORK_MAGIC_MAINNET, NETWORK_ID_POLARIS_NET: constants.NETWORK_MAGIC_POLARIS, NETWORK_ID_SOLO_NET: 0, }
View Source
var NETWORK_NAME = map[uint32]string{ NETWORK_ID_MAIN_NET: NETWORK_NAME_MAIN_NET, NETWORK_ID_POLARIS_NET: NETWORK_NAME_POLARIS_NET, NETWORK_ID_SOLO_NET: NETWORK_NAME_SOLO_NET, }
View Source
var PolarisConfig = &GenesisConfig{ SeedList: []string{}, ConsensusType: CONSENSUS_TYPE_VBFT, VBFT: &VBFTConfig{ N: 7, C: 2, K: 7, L: 112, BlockMsgDelay: 10000, HashMsgDelay: 10000, PeerHandshakeTimeout: 10, MaxBlockChangeView: 3000, AdminOntID: "did:dna:AMAx993nE6NEqZjwBssUfopxnnvTdob9ij", MinInitStake: 10000, VrfValue: "1c9810aa9822e511d5804a9c4db9dd08497c31087b0daafa34d768a3253441fa20515e2f30f81741102af0ca3cefc4818fef16adb825fbaa8cad78647f3afb590e", VrfProof: "c57741f934042cb8d8b087b44b161db56fc3ffd4ffb675d36cd09f83935be853d8729f3f5298d12d6fd28d45dde515a4b9d7f67682d182ba5118abf451ff1988", Peers: []*VBFTPeerStakeInfo{ { Index: 1, PeerPubkey: "037c9e6c6a446b6b296f89b722cbf686b81e0a122444ef05f0f87096777663284b", Address: "AXmQDzzvpEtPkNwBEFsREzApTTDZFW6frD", InitPos: 10000, }, { Index: 2, PeerPubkey: "03dff4c63267ae5e23da44ace1bc47d0da1eb8d36fd71181dcccf0e872cb7b31fa", Address: "AY5W6p4jHeZG2jjW6nS1p4KDUhcqLkU6jz", InitPos: 20000, }, { Index: 3, PeerPubkey: "0205bc592aa9121428c4144fcd669ece1fa73fee440616c75624967f83fb881050", Address: "ALZVrZrFqoSvqyi38n7mpPoeDp7DMtZ9b6", InitPos: 30000, }, { Index: 4, PeerPubkey: "030a34dcb075d144df1f65757b85acaf053395bb47b019970607d2d1cdd222525c", Address: "AMogjmLf2QohTcGST7niV75ekZfj44SKme", InitPos: 40000, }, { Index: 5, PeerPubkey: "021844159f97d81da71da52f84e8451ee573c83b296ff2446387b292e44fba5c98", Address: "AZzQTkZvjy7ih9gjvwU8KYiZZyNoy6jE9p", InitPos: 30000, }, { Index: 6, PeerPubkey: "020cc76feb375d6ea8ec9ff653bab18b6bbc815610cecc76e702b43d356f885835", Address: "AKEqQKmxCsjWJz8LPGryXzb6nN5fkK1WDY", InitPos: 20000, }, { Index: 7, PeerPubkey: "03aa4d52b200fd91ca12deff46505c4608a0f66d28d9ae68a342c8a8c1266de0f9", Address: "AQNpGWz4oHHFBejtBbakeR43DHfen7cm8L", InitPos: 10000, }, }, }, DBFT: &DBFTConfig{}, SOLO: &SOLOConfig{}, }
View Source
var STATE_HASH_CHECK_HEIGHT = map[uint32]uint32{ NETWORK_ID_MAIN_NET: constants.STATE_HASH_HEIGHT_MAINNET, NETWORK_ID_POLARIS_NET: constants.STATE_HASH_HEIGHT_POLARIS, NETWORK_ID_SOLO_NET: 0, }
View Source
var Version = "" //Set value when build project
Functions ¶
func GetNetworkMagic ¶
func GetNetworkName ¶
func GetStateHashCheckHeight ¶
Types ¶
type CommonConfig ¶
type ConsensusConfig ¶
type DBFTConfig ¶
type DNAConfig ¶
type DNAConfig struct { Genesis *GenesisConfig Common *CommonConfig Consensus *ConsensusConfig P2PNode *P2PNodeConfig Rpc *RpcConfig Restful *RestfulConfig Ws *WebSocketConfig }
func NewDNAConfig ¶
func NewDNAConfig() *DNAConfig
func (*DNAConfig) GetBookkeepers ¶
func (*DNAConfig) GetDefaultNetworkId ¶
type GenesisConfig ¶
type GenesisConfig struct { SeedList []string ConsensusType string VBFT *VBFTConfig DBFT *DBFTConfig SOLO *SOLOConfig }
func NewGenesisConfig ¶
func NewGenesisConfig() *GenesisConfig
type P2PNodeConfig ¶
type P2PNodeConfig struct { ReservedPeersOnly bool ReservedCfg *P2PRsvConfig NetworkMagic uint32 NetworkId uint32 NetworkName string NodePort uint IsTLS bool CertPath string KeyPath string CAPath string HttpInfoPort uint MaxHdrSyncReqs uint MaxConnInBound uint MaxConnOutBound uint MaxConnInBoundForSingleIP uint }
type P2PRsvConfig ¶
type RestfulConfig ¶
type SOLOConfig ¶
type VBFTConfig ¶
type VBFTConfig struct { N uint32 `json:"n"` // network size C uint32 `json:"c"` // consensus quorum K uint32 `json:"k"` L uint32 `json:"l"` BlockMsgDelay uint32 `json:"block_msg_delay"` HashMsgDelay uint32 `json:"hash_msg_delay"` PeerHandshakeTimeout uint32 `json:"peer_handshake_timeout"` MaxBlockChangeView uint32 `json:"max_block_change_view"` MinInitStake uint32 `json:"min_init_stake"` AdminOntID string `json:"admin_ont_id"` VrfValue string `json:"vrf_value"` VrfProof string `json:"vrf_proof"` Peers []*VBFTPeerStakeInfo `json:"peers"` }
VBFT genesis config, from local config file
func (*VBFTConfig) Deserialize ¶
func (this *VBFTConfig) Deserialize(r io.Reader) error
type VBFTPeerStakeInfo ¶
type VBFTPeerStakeInfo struct { Index uint32 `json:"index"` PeerPubkey string `json:"peerPubkey"` Address string `json:"address"` InitPos uint64 `json:"initPos"` }
func (*VBFTPeerStakeInfo) Deserialize ¶
func (this *VBFTPeerStakeInfo) Deserialize(r io.Reader) error
Click to show internal directories.
Click to hide internal directories.