BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Macros | Variables
config.hpp File Reference
#include <stddef.h>

Go to the source code of this file.

Macros

#define GRAPHENE_NET_PROTOCOL_VERSION   106
 
#define ENABLE_P2P_DEBUGGING_API   1
 
#define MAX_MESSAGE_SIZE   1024*1024*2
 
#define GRAPHENE_NET_DEFAULT_PEER_CONNECTION_RETRY_TIME   30
 
#define GRAPHENE_PEER_DATABASE_RETRY_DELAY   15
 
#define GRAPHENE_NET_PEER_HANDSHAKE_INACTIVITY_TIMEOUT   5
 
#define GRAPHENE_NET_PEER_DISCONNECT_TIMEOUT   20
 
#define GRAPHENE_NET_TEST_SEED_IP   "104.236.44.210"
 
#define GRAPHENE_NET_TEST_P2P_PORT   1700
 
#define GRAPHENE_NET_DEFAULT_P2P_PORT   1776
 
#define GRAPHENE_NET_DEFAULT_DESIRED_CONNECTIONS   20
 
#define GRAPHENE_NET_DEFAULT_MAX_CONNECTIONS   200
 
#define GRAPHENE_NET_MAXIMUM_QUEUED_MESSAGES_IN_BYTES   (1024 * 1024)
 
#define GRAPHENE_NET_MESSAGE_CACHE_DURATION_IN_BLOCKS   5
 
#define GRAPHENE_NET_FUTURE_SYNC_BLOCKS_GRACE_PERIOD_SEC   (60 * 60)
 
#define GRAPHENE_NET_MAX_INVENTORY_SIZE_IN_MINUTES   2
 
#define GRAPHENE_NET_MAX_BLOCKS_PER_PEER_DURING_SYNCING   200
 
#define GRAPHENE_NET_MAX_ITEMS_PER_PEER_DURING_NORMAL_OPERATION   1
 
#define GRAPHENE_NET_MIN_BLOCK_IDS_TO_PREFETCH   10000
 
#define GRAPHENE_NET_MAX_TRX_PER_SECOND   1000
 
#define GRAPHENE_NET_MAX_NESTED_OBJECTS   (250)
 
#define MAXIMUM_PEERDB_SIZE   1000
 

Variables

constexpr size_t MAX_ADDRESSES_TO_HANDLE_AT_ONCE = 200
 
constexpr size_t MAX_BLOCKS_TO_HANDLE_AT_ONCE = 200
 
constexpr size_t MAX_SYNC_BLOCKS_TO_PREFETCH = 10 * MAX_BLOCKS_TO_HANDLE_AT_ONCE
 

Macro Definition Documentation

◆ ENABLE_P2P_DEBUGGING_API

#define ENABLE_P2P_DEBUGGING_API   1

Define this to enable debugging code in the p2p network interface. This is code that would never be executed in normal operation, but is used for automated testing (creating artificial net splits, tracking where messages came from and when)

Definition at line 36 of file config.hpp.

◆ GRAPHENE_NET_DEFAULT_DESIRED_CONNECTIONS

#define GRAPHENE_NET_DEFAULT_DESIRED_CONNECTIONS   20

Definition at line 60 of file config.hpp.

◆ GRAPHENE_NET_DEFAULT_MAX_CONNECTIONS

#define GRAPHENE_NET_DEFAULT_MAX_CONNECTIONS   200

Definition at line 61 of file config.hpp.

◆ GRAPHENE_NET_DEFAULT_P2P_PORT

#define GRAPHENE_NET_DEFAULT_P2P_PORT   1776

Definition at line 59 of file config.hpp.

◆ GRAPHENE_NET_DEFAULT_PEER_CONNECTION_RETRY_TIME

#define GRAPHENE_NET_DEFAULT_PEER_CONNECTION_RETRY_TIME   30

Definition at line 42 of file config.hpp.

◆ GRAPHENE_NET_FUTURE_SYNC_BLOCKS_GRACE_PERIOD_SEC

#define GRAPHENE_NET_FUTURE_SYNC_BLOCKS_GRACE_PERIOD_SEC   (60 * 60)

We prevent a peer from offering us a list of blocks which, if we fetched them all, would result in a blockchain that extended into the future. This parameter gives us some wiggle room, allowing a peer to give us blocks that would put our blockchain up to an hour in the future, just in case our clock is a bit off.

Definition at line 83 of file config.hpp.

◆ GRAPHENE_NET_MAX_BLOCKS_PER_PEER_DURING_SYNCING

#define GRAPHENE_NET_MAX_BLOCKS_PER_PEER_DURING_SYNCING   200

Definition at line 87 of file config.hpp.

◆ GRAPHENE_NET_MAX_INVENTORY_SIZE_IN_MINUTES

#define GRAPHENE_NET_MAX_INVENTORY_SIZE_IN_MINUTES   2

Definition at line 85 of file config.hpp.

◆ GRAPHENE_NET_MAX_ITEMS_PER_PEER_DURING_NORMAL_OPERATION

#define GRAPHENE_NET_MAX_ITEMS_PER_PEER_DURING_NORMAL_OPERATION   1

During normal operation, how many items will be fetched from each peer at a time. This will only come into play when the network is being flooded – typically transactions will be fetched as soon as we find out about them, so only one item will be requested at a time.

No tests have been done to find the optimal value for this parameter, so consider increasing or decreasing it if performance during flooding is lacking.

Definition at line 100 of file config.hpp.

◆ GRAPHENE_NET_MAX_NESTED_OBJECTS

#define GRAPHENE_NET_MAX_NESTED_OBJECTS   (250)

Definition at line 112 of file config.hpp.

◆ GRAPHENE_NET_MAX_TRX_PER_SECOND

#define GRAPHENE_NET_MAX_TRX_PER_SECOND   1000

Definition at line 110 of file config.hpp.

◆ GRAPHENE_NET_MAXIMUM_QUEUED_MESSAGES_IN_BYTES

#define GRAPHENE_NET_MAXIMUM_QUEUED_MESSAGES_IN_BYTES   (1024 * 1024)

Definition at line 63 of file config.hpp.

◆ GRAPHENE_NET_MESSAGE_CACHE_DURATION_IN_BLOCKS

#define GRAPHENE_NET_MESSAGE_CACHE_DURATION_IN_BLOCKS   5

When we receive a message from the network, we advertise it to our peers and save a copy in a cache were we will find it if a peer requests it. We expire out old items out of the cache after this number of blocks go by.

Recently lowered from 30 to match the default expiration time the web wallet imposes on transactions.

Definition at line 74 of file config.hpp.

◆ GRAPHENE_NET_MIN_BLOCK_IDS_TO_PREFETCH

#define GRAPHENE_NET_MIN_BLOCK_IDS_TO_PREFETCH   10000

Instead of fetching all item IDs from a peer, then fetching all blocks from a peer, we will interleave them. Fetch at least this many block IDs, then switch into block-fetching mode until the number of blocks we know about but haven't yet fetched drops below this

Definition at line 108 of file config.hpp.

◆ GRAPHENE_NET_PEER_DISCONNECT_TIMEOUT

#define GRAPHENE_NET_PEER_DISCONNECT_TIMEOUT   20

Definition at line 52 of file config.hpp.

◆ GRAPHENE_NET_PEER_HANDSHAKE_INACTIVITY_TIMEOUT

#define GRAPHENE_NET_PEER_HANDSHAKE_INACTIVITY_TIMEOUT   5

Definition at line 50 of file config.hpp.

◆ GRAPHENE_NET_PROTOCOL_VERSION

#define GRAPHENE_NET_PROTOCOL_VERSION   106

Definition at line 28 of file config.hpp.

◆ GRAPHENE_NET_TEST_P2P_PORT

#define GRAPHENE_NET_TEST_P2P_PORT   1700

Definition at line 58 of file config.hpp.

◆ GRAPHENE_NET_TEST_SEED_IP

#define GRAPHENE_NET_TEST_SEED_IP   "104.236.44.210"

Definition at line 57 of file config.hpp.

◆ GRAPHENE_PEER_DATABASE_RETRY_DELAY

#define GRAPHENE_PEER_DATABASE_RETRY_DELAY   15

AFter trying all peers, how long to wait before we check to see if there are peers we can try again.

Definition at line 48 of file config.hpp.

◆ MAX_MESSAGE_SIZE

#define MAX_MESSAGE_SIZE   1024*1024*2

2MiB

Definition at line 41 of file config.hpp.

◆ MAXIMUM_PEERDB_SIZE

#define MAXIMUM_PEERDB_SIZE   1000

Definition at line 114 of file config.hpp.

Variable Documentation

◆ MAX_ADDRESSES_TO_HANDLE_AT_ONCE

constexpr size_t MAX_ADDRESSES_TO_HANDLE_AT_ONCE = 200
constexpr

Definition at line 116 of file config.hpp.

◆ MAX_BLOCKS_TO_HANDLE_AT_ONCE

constexpr size_t MAX_BLOCKS_TO_HANDLE_AT_ONCE = 200
constexpr

Definition at line 118 of file config.hpp.

◆ MAX_SYNC_BLOCKS_TO_PREFETCH

constexpr size_t MAX_SYNC_BLOCKS_TO_PREFETCH = 10 * MAX_BLOCKS_TO_HANDLE_AT_ONCE
constexpr

Definition at line 119 of file config.hpp.