Documentation
¶
Index ¶
- Constants
- Variables
- func GetNetworkMagic(id uint32) uint32
- func GetNetworkName(id uint32) string
- func GetOpcodeUpdateCheckHeight(id uint32) uint32
- func GetStateHashCheckHeight(id uint32) uint32
- type CommonConfig
- type ConsensusConfig
- type DBFTConfig
- type GenesisConfig
- type OntologyConfig
- type P2PNodeConfig
- type P2PRsvConfig
- type POCConfig
- type POCPeerStakeInfo
- 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 = "./wallet.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 POC_MIN_NODE_NUM = 4 //min node number of POC consensus CONSENSUS_TYPE_DBFT = "dbft" CONSENSUS_TYPE_SOLO = "solo" CONSENSUS_TYPE_VBFT = "vbft" CONSENSUS_TYPE_POC = "poc" 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 = "ontology" NETWORK_NAME_POLARIS_NET = "polaris" NETWORK_NAME_SOLO_NET = "testmode" )
Variables ¶
View Source
var DefConfig = NewOntologyConfig()
View Source
var MainNetConfig = &GenesisConfig{ SeedList: []string{ "seed1.gechain.io:20338", "seed2.gechain.io:20338", "seed3.gechain.io:20338", "seed4.gechain.io:20338", "seed5.gechain.io:20338", "seed6.gechain.io:20338", "seed7.gechain.io:20338", }, ConsensusType: CONSENSUS_TYPE_POC, VBFT: &VBFTConfig{ N: 7, C: 2, K: 7, L: 112, BlockMsgDelay: 10000, HashMsgDelay: 10000, PeerHandshakeTimeout: 10, MaxBlockChangeView: 120000, AdminOntID: "did:ont:AdjfcJgwru2FD8kotCPvLDXYzRjqFjc9Tb", MinInitStake: 100000, VrfValue: "1c9810aa9822e511d5804a9c4db9dd08497c31087b0daafa34d768a3253441fa20515e2f30f81741102af0ca3cefc4818fef16adb825fbaa8cad78647f3afb590e", VrfProof: "c57741f934042cb8d8b087b44b161db56fc3ffd4ffb675d36cd09f83935be853d8729f3f5298d12d6fd28d45dde515a4b9d7f67682d182ba5118abf451ff1988", Peers: []*VBFTPeerStakeInfo{ { Index: 1, PeerPubkey: "0204c0621d13ff8bf81fc0133517dd277a7f623ca4d600f8f0ce31572a40cba906", Address: "ARnijerLA5RsGzZ2vyT2YsBcc3L5VodmGJ", }, { Index: 2, PeerPubkey: "03e8a0935d465c5ece9d7405cf9ca2bd426cb6dd364f3a273bb366ddf6c1aa9cae", Address: "AKHEAbXdZK5XfYb8hqaubNUox6YYciVZoC", }, { Index: 3, PeerPubkey: "03f5efb6bc21351f9c588373b44eaa3891ee70cdb5638f613e238fdfdbff287428", Address: "AWfzYVtvLkGaQZJadJrLm7u8FNEg4wxL3M", }, { Index: 4, PeerPubkey: "0382281779cd8c65efaf2eb1e7e4a43c948f884d07c68ca9b27c77263c6156d973", Address: "AcR2C78QQkmpUZ49nnxWVozEP7MF15zMuw", }, { Index: 5, PeerPubkey: "02b18a5780896abf3d6092b2289789df913df8650e522c0e037504e03149a9a774", Address: "AM23wbxA2z9CVvYyYoNU7z49G3L2Wbv3ru", }, { Index: 6, PeerPubkey: "03e2373ba6d43c89a80b40904ace26181e680fd100f3ad2f72b95aeba84fb8c32b", Address: "ASDvTTPhFKRqJbVpFc2x8dntpe3ux5hzZo", }, { Index: 7, PeerPubkey: "038e9f8630d6d9c4af370c0006e94590ff14068c3029f786beb099f715b0b07e0d", Address: "Ae9GMimjGofMmW7eB16sduutKYpKYUFeq3", }, }, }, DBFT: &DBFTConfig{}, SOLO: &SOLOConfig{}, POC: &POCConfig{ N: 7, C: 2, K: 7, L: 112, BlockMsgDelay: 10000, HashMsgDelay: 10000, PeerHandshakeTimeout: 10, MaxBlockChangeView: 120000, AdminOntID: "did:ont:AdjfcJgwru2FD8kotCPvLDXYzRjqFjc9Tb", MinInitStake: 100000, PocSpace: 200, NonceDir: "../Cache", Peers: []*POCPeerStakeInfo{ { Index: 1, PeerPubkey: "0204c0621d13ff8bf81fc0133517dd277a7f623ca4d600f8f0ce31572a40cba906", Address: "ARnijerLA5RsGzZ2vyT2YsBcc3L5VodmGJ", }, { Index: 2, PeerPubkey: "03e8a0935d465c5ece9d7405cf9ca2bd426cb6dd364f3a273bb366ddf6c1aa9cae", Address: "AKHEAbXdZK5XfYb8hqaubNUox6YYciVZoC", }, { Index: 3, PeerPubkey: "03f5efb6bc21351f9c588373b44eaa3891ee70cdb5638f613e238fdfdbff287428", Address: "AWfzYVtvLkGaQZJadJrLm7u8FNEg4wxL3M", }, { Index: 4, PeerPubkey: "0382281779cd8c65efaf2eb1e7e4a43c948f884d07c68ca9b27c77263c6156d973", Address: "AcR2C78QQkmpUZ49nnxWVozEP7MF15zMuw", }, { Index: 5, PeerPubkey: "02b18a5780896abf3d6092b2289789df913df8650e522c0e037504e03149a9a774", Address: "AM23wbxA2z9CVvYyYoNU7z49G3L2Wbv3ru", }, { Index: 6, PeerPubkey: "03e2373ba6d43c89a80b40904ace26181e680fd100f3ad2f72b95aeba84fb8c32b", Address: "ASDvTTPhFKRqJbVpFc2x8dntpe3ux5hzZo", }, { Index: 7, PeerPubkey: "038e9f8630d6d9c4af370c0006e94590ff14068c3029f786beb099f715b0b07e0d", Address: "Ae9GMimjGofMmW7eB16sduutKYpKYUFeq3", }, }, }, }
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 OPCODE_UPDATE_CHECK_HEIGHT = map[uint32]uint32{ NETWORK_ID_MAIN_NET: constants.OPCODE_HEIGHT_UPDATE_FIRST_MAINNET, NETWORK_ID_POLARIS_NET: constants.OPCODE_HEIGHT_UPDATE_FIRST_POLARIS, NETWORK_ID_SOLO_NET: 0, }
View Source
var PolarisConfig = &GenesisConfig{ SeedList: []string{ "polaris1.ont.io:20338", "polaris2.ont.io:20338", "polaris3.ont.io:20338", "polaris4.ont.io:20338"}, ConsensusType: CONSENSUS_TYPE_VBFT, VBFT: &VBFTConfig{ N: 7, C: 2, K: 7, L: 112, BlockMsgDelay: 10000, HashMsgDelay: 10000, PeerHandshakeTimeout: 10, MaxBlockChangeView: 3000, AdminOntID: "did:ont: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 GenesisConfig ¶
type GenesisConfig struct { SeedList []string ConsensusType string VBFT *VBFTConfig DBFT *DBFTConfig SOLO *SOLOConfig POC *POCConfig }
func NewGenesisConfig ¶
func NewGenesisConfig() *GenesisConfig
type OntologyConfig ¶
type OntologyConfig struct { Genesis *GenesisConfig Common *CommonConfig Consensus *ConsensusConfig P2PNode *P2PNodeConfig Rpc *RpcConfig Restful *RestfulConfig Ws *WebSocketConfig }
func NewOntologyConfig ¶
func NewOntologyConfig() *OntologyConfig
func (*OntologyConfig) GetBookkeepers ¶
func (this *OntologyConfig) GetBookkeepers() ([]keypair.PublicKey, error)
func (*OntologyConfig) GetDefaultNetworkId ¶
func (this *OntologyConfig) GetDefaultNetworkId() (uint32, error)
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 POCConfig ¶
type POCConfig 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"` Peers []*POCPeerStakeInfo `json:"peers"` PocSpace uint64 `json:"POC computing space, unit64 'M'"` NonceDir string `json:"Nonce position"` }
type POCPeerStakeInfo ¶
type POCPeerStakeInfo struct { Index uint32 `json:"index"` PeerPubkey string `json:"peerPubkey"` Address string `json:"address"` InitPos uint64 `json:"initPos"` }
func (*POCPeerStakeInfo) Deserialize ¶
func (this *POCPeerStakeInfo) Deserialize(r io.Reader) error
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.