########################################
# !!!DO NOT MODIFY THIS FILE DIRECTLY!!!
########################################
#
# This file is generated by 'generate_aergo_conf.py'.
#
AERGO_CONF_KEYS = {
"base": ["datadir", "dbtype", "enableprofile", "profileport", "enabletestmode", "usetestnet", "personal", "authdir", ],
"rpc": ["netserviceaddr", "netserviceport", "netservicetrace", "nstls", "nscert", "nskey", "nscacert", "nsallowcors", ],
"p2p": ["netprotocoladdr", "netprotocolport", "npbindaddr", "npbindport", "nptls", "npcert", "npkey", "npaddpeers", "nphiddenpeers", "npdiscoverpeers", "npmaxpeers", "nppeerpool", "npexposeself", "npusepolaris", "npaddpolarises", "logfullpeerid", ],
"polaris": ["allowprivate", "genesisfile", ],
"blockchain": ["maxblocksize", "coinbaseaccount", "maxanchorcount", "verifiercount", "forceresetheight", "zerofee", "verifyonly", "statetrace", ],
"mempool": ["showmetrics", "enablefadeout", "fadeoutperiod", "verifiers", "dumpfilepath", ],
"consensus": ["enablebp", "blockinterval", "raft", ],
"monitor": ["protocol", "endpoint", ],
"account": ["unlocktimeout", ],
"auth": ["enablelocalconf", ],
}
AERGO_DEFAULT_CONF = {
"datadir": "${AERGO_HOME}/data",
"dbtype": "badgerdb",
"enableprofile": False,
"profileport": 6060,
"enabletestmode": False,
"usetestnet": False,
"personal": True,
"authdir": "${AERGO_HOME}/auth",
"rpc": {
"netserviceaddr": "127.0.0.1",
"netserviceport": 7845,
"netservicetrace": False,
"nstls": False,
"nscert": "",
"nskey": "",
"nscacert": "",
"nsallowcors": False,
},
"p2p": {
"netprotocoladdr": "",
"netprotocolport": 7846,
"npbindaddr": "",
"npbindport": -1,
"nptls": False,
"npcert": "",
"npkey": "",
"npaddpeers": [],
"npdiscoverpeers": True,
"npmaxpeers": 100,
"nppeerpool": 100,
"npexposeself": True,
"npusepolaris": True,
"npaddpolarises": [],
"logfullpeerid": False,
},
"polaris": {
"allowprivate": False,
"genesisfile": "",
},
"blockchain": {
"maxblocksize": 1048576,
"coinbaseaccount": "",
"maxanchorcount": 20,
"forceresetheight": 0,
"zerofee": True,
"verifyonly": False,
"statetrace": 0,
},
"mempool": {
"showmetrics": False,
"enablefadeout": False,
"fadeoutperiod": 12,
"dumpfilepath": "${AERGO_HOME}/mempool.dump",
},
"consensus": {
"enablebp": False,
"blockinterval": 1,
},
"monitor": {
"protocol": "",
"endpoint": "",
},
"account": {
"unlocktimeout": 60,
},
"auth": {
"enablelocalconf": False,
},
}
[docs]class AergoConfig:
def __init__(self):
self.__conf = dict(AERGO_DEFAULT_CONF)
self.__conf['rpc'] = dict(AERGO_DEFAULT_CONF['rpc'])
self.__conf['p2p'] = dict(AERGO_DEFAULT_CONF['p2p'])
self.__conf['polaris'] = dict(AERGO_DEFAULT_CONF['polaris'])
self.__conf['blockchain'] = dict(AERGO_DEFAULT_CONF['blockchain'])
self.__conf['mempool'] = dict(AERGO_DEFAULT_CONF['mempool'])
self.__conf['consensus'] = dict(AERGO_DEFAULT_CONF['consensus'])
self.__conf['monitor'] = dict(AERGO_DEFAULT_CONF['monitor'])
self.__conf['account'] = dict(AERGO_DEFAULT_CONF['account'])
self.__conf['auth'] = dict(AERGO_DEFAULT_CONF['auth'])
[docs] def add_conf(self, k, v, c="base"):
exist = False
for key in AERGO_CONF_KEYS[c]:
if key == k:
exist = True
break
if not exist:
raise KeyError("cannot find a configuration key: " + k)
if c == "base":
self.__conf[k] = v
else:
self.__conf[c][k] = v
@property
def conf(self):
return self.__conf
@property
def datadir(self):
return str(self.__conf['datadir'])
@datadir.setter
def datadir(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['datadir'] = v
@property
def dbtype(self):
return str(self.__conf['dbtype'])
@dbtype.setter
def dbtype(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['dbtype'] = v
@property
def enableprofile(self):
return bool(self.__conf['enableprofile'])
@enableprofile.setter
def enableprofile(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['enableprofile'] = v
@property
def profileport(self):
return int(self.__conf['profileport'])
@profileport.setter
def profileport(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['profileport'] = v
@property
def enabletestmode(self):
return bool(self.__conf['enabletestmode'])
@enabletestmode.setter
def enabletestmode(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['enabletestmode'] = v
@property
def usetestnet(self):
return bool(self.__conf['usetestnet'])
@usetestnet.setter
def usetestnet(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['usetestnet'] = v
@property
def personal(self):
return bool(self.__conf['personal'])
@personal.setter
def personal(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['personal'] = v
@property
def authdir(self):
return str(self.__conf['authdir'])
@authdir.setter
def authdir(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['authdir'] = v
@property
def rpc(self):
return self.__conf['rpc']
@property
def rpc_netserviceaddr(self):
return str(self.__conf['rpc']['netserviceaddr'])
@rpc_netserviceaddr.setter
def rpc_netserviceaddr(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['rpc']['netserviceaddr'] = v
@property
def rpc_netserviceport(self):
return int(self.__conf['rpc']['netserviceport'])
@rpc_netserviceport.setter
def rpc_netserviceport(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['rpc']['netserviceport'] = v
@property
def rpc_netservicetrace(self):
return bool(self.__conf['rpc']['netservicetrace'])
@rpc_netservicetrace.setter
def rpc_netservicetrace(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['rpc']['netservicetrace'] = v
@property
def rpc_nstls(self):
return bool(self.__conf['rpc']['nstls'])
@rpc_nstls.setter
def rpc_nstls(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['rpc']['nstls'] = v
@property
def rpc_nscert(self):
return str(self.__conf['rpc']['nscert'])
@rpc_nscert.setter
def rpc_nscert(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['rpc']['nscert'] = v
@property
def rpc_nskey(self):
return str(self.__conf['rpc']['nskey'])
@rpc_nskey.setter
def rpc_nskey(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['rpc']['nskey'] = v
@property
def rpc_nscacert(self):
return str(self.__conf['rpc']['nscacert'])
@rpc_nscacert.setter
def rpc_nscacert(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['rpc']['nscacert'] = v
@property
def rpc_nsallowcors(self):
return bool(self.__conf['rpc']['nsallowcors'])
@rpc_nsallowcors.setter
def rpc_nsallowcors(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['rpc']['nsallowcors'] = v
@property
def p2p(self):
return self.__conf['p2p']
@property
def p2p_netprotocoladdr(self):
return str(self.__conf['p2p']['netprotocoladdr'])
@p2p_netprotocoladdr.setter
def p2p_netprotocoladdr(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['p2p']['netprotocoladdr'] = v
@property
def p2p_netprotocolport(self):
return int(self.__conf['p2p']['netprotocolport'])
@p2p_netprotocolport.setter
def p2p_netprotocolport(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['p2p']['netprotocolport'] = v
@property
def p2p_npbindaddr(self):
return str(self.__conf['p2p']['npbindaddr'])
@p2p_npbindaddr.setter
def p2p_npbindaddr(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['p2p']['npbindaddr'] = v
@property
def p2p_npbindport(self):
return int(self.__conf['p2p']['npbindport'])
@p2p_npbindport.setter
def p2p_npbindport(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['p2p']['npbindport'] = v
@property
def p2p_nptls(self):
return bool(self.__conf['p2p']['nptls'])
@p2p_nptls.setter
def p2p_nptls(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['p2p']['nptls'] = v
@property
def p2p_npcert(self):
return str(self.__conf['p2p']['npcert'])
@p2p_npcert.setter
def p2p_npcert(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['p2p']['npcert'] = v
@property
def p2p_npkey(self):
return str(self.__conf['p2p']['npkey'])
@p2p_npkey.setter
def p2p_npkey(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['p2p']['npkey'] = v
@property
def p2p_npaddpeers(self):
return self.__conf['p2p']['npaddpeers']
@p2p_npaddpeers.setter
def p2p_npaddpeers(self, v):
if not isinstance(v, list):
raise TypeError('input value should be an array type')
self.__conf['p2p']['npaddpeers'] = v
@property
def p2p_nphiddenpeers(self):
return self.__conf['p2p']['nphiddenpeers']
@p2p_nphiddenpeers.setter
def p2p_nphiddenpeers(self, v):
if not isinstance(v, list):
raise TypeError('input value should be an array type')
self.__conf['p2p']['nphiddenpeers'] = v
@property
def p2p_npdiscoverpeers(self):
return bool(self.__conf['p2p']['npdiscoverpeers'])
@p2p_npdiscoverpeers.setter
def p2p_npdiscoverpeers(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['p2p']['npdiscoverpeers'] = v
@property
def p2p_npmaxpeers(self):
return int(self.__conf['p2p']['npmaxpeers'])
@p2p_npmaxpeers.setter
def p2p_npmaxpeers(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['p2p']['npmaxpeers'] = v
@property
def p2p_nppeerpool(self):
return int(self.__conf['p2p']['nppeerpool'])
@p2p_nppeerpool.setter
def p2p_nppeerpool(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['p2p']['nppeerpool'] = v
@property
def p2p_npexposeself(self):
return bool(self.__conf['p2p']['npexposeself'])
@p2p_npexposeself.setter
def p2p_npexposeself(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['p2p']['npexposeself'] = v
@property
def p2p_npusepolaris(self):
return bool(self.__conf['p2p']['npusepolaris'])
@p2p_npusepolaris.setter
def p2p_npusepolaris(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['p2p']['npusepolaris'] = v
@property
def p2p_npaddpolarises(self):
return self.__conf['p2p']['npaddpolarises']
@p2p_npaddpolarises.setter
def p2p_npaddpolarises(self, v):
if not isinstance(v, list):
raise TypeError('input value should be an array type')
self.__conf['p2p']['npaddpolarises'] = v
@property
def p2p_logfullpeerid(self):
return bool(self.__conf['p2p']['logfullpeerid'])
@p2p_logfullpeerid.setter
def p2p_logfullpeerid(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['p2p']['logfullpeerid'] = v
@property
def polaris(self):
return self.__conf['polaris']
@property
def polaris_allowprivate(self):
return bool(self.__conf['polaris']['allowprivate'])
@polaris_allowprivate.setter
def polaris_allowprivate(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['polaris']['allowprivate'] = v
@property
def polaris_genesisfile(self):
return str(self.__conf['polaris']['genesisfile'])
@polaris_genesisfile.setter
def polaris_genesisfile(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['polaris']['genesisfile'] = v
@property
def blockchain(self):
return self.__conf['blockchain']
@property
def blockchain_maxblocksize(self):
return int(self.__conf['blockchain']['maxblocksize'])
@blockchain_maxblocksize.setter
def blockchain_maxblocksize(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['blockchain']['maxblocksize'] = v
@property
def blockchain_coinbaseaccount(self):
return str(self.__conf['blockchain']['coinbaseaccount'])
@blockchain_coinbaseaccount.setter
def blockchain_coinbaseaccount(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['blockchain']['coinbaseaccount'] = v
@property
def blockchain_maxanchorcount(self):
return int(self.__conf['blockchain']['maxanchorcount'])
@blockchain_maxanchorcount.setter
def blockchain_maxanchorcount(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['blockchain']['maxanchorcount'] = v
@property
def blockchain_verifiercount(self):
return int(self.__conf['blockchain']['verifiercount'])
@blockchain_verifiercount.setter
def blockchain_verifiercount(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['blockchain']['verifiercount'] = v
@property
def blockchain_forceresetheight(self):
return int(self.__conf['blockchain']['forceresetheight'])
@blockchain_forceresetheight.setter
def blockchain_forceresetheight(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['blockchain']['forceresetheight'] = v
@property
def blockchain_zerofee(self):
return bool(self.__conf['blockchain']['zerofee'])
@blockchain_zerofee.setter
def blockchain_zerofee(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['blockchain']['zerofee'] = v
@property
def blockchain_verifyonly(self):
return bool(self.__conf['blockchain']['verifyonly'])
@blockchain_verifyonly.setter
def blockchain_verifyonly(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['blockchain']['verifyonly'] = v
@property
def blockchain_statetrace(self):
return int(self.__conf['blockchain']['statetrace'])
@blockchain_statetrace.setter
def blockchain_statetrace(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['blockchain']['statetrace'] = v
@property
def mempool(self):
return self.__conf['mempool']
@property
def mempool_showmetrics(self):
return bool(self.__conf['mempool']['showmetrics'])
@mempool_showmetrics.setter
def mempool_showmetrics(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['mempool']['showmetrics'] = v
@property
def mempool_enablefadeout(self):
return bool(self.__conf['mempool']['enablefadeout'])
@mempool_enablefadeout.setter
def mempool_enablefadeout(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['mempool']['enablefadeout'] = v
@property
def mempool_fadeoutperiod(self):
return int(self.__conf['mempool']['fadeoutperiod'])
@mempool_fadeoutperiod.setter
def mempool_fadeoutperiod(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['mempool']['fadeoutperiod'] = v
@property
def mempool_verifiers(self):
return int(self.__conf['mempool']['verifiers'])
@mempool_verifiers.setter
def mempool_verifiers(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['mempool']['verifiers'] = v
@property
def mempool_dumpfilepath(self):
return str(self.__conf['mempool']['dumpfilepath'])
@mempool_dumpfilepath.setter
def mempool_dumpfilepath(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['mempool']['dumpfilepath'] = v
@property
def consensus(self):
return self.__conf['consensus']
@property
def consensus_enablebp(self):
return bool(self.__conf['consensus']['enablebp'])
@consensus_enablebp.setter
def consensus_enablebp(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['consensus']['enablebp'] = v
@property
def consensus_blockinterval(self):
return int(self.__conf['consensus']['blockinterval'])
@consensus_blockinterval.setter
def consensus_blockinterval(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['consensus']['blockinterval'] = v
@property
def consensus_raft(self):
return self.__conf['consensus']['raft']
@consensus_raft.setter
def consensus_raft(self, v):
self.__conf['consensus']['raft'] = v
@property
def monitor(self):
return self.__conf['monitor']
@property
def monitor_protocol(self):
return str(self.__conf['monitor']['protocol'])
@monitor_protocol.setter
def monitor_protocol(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['monitor']['protocol'] = v
@property
def monitor_endpoint(self):
return str(self.__conf['monitor']['endpoint'])
@monitor_endpoint.setter
def monitor_endpoint(self, v):
if not isinstance(v, str):
raise TypeError('input value should be a string type')
self.__conf['monitor']['endpoint'] = v
@property
def account(self):
return self.__conf['account']
@property
def account_unlocktimeout(self):
return int(self.__conf['account']['unlocktimeout'])
@account_unlocktimeout.setter
def account_unlocktimeout(self, v):
if not isinstance(v, int):
raise TypeError('input value should be an integer type')
self.__conf['account']['unlocktimeout'] = v
@property
def auth(self):
return self.__conf['auth']
@property
def auth_enablelocalconf(self):
return bool(self.__conf['auth']['enablelocalconf'])
@auth_enablelocalconf.setter
def auth_enablelocalconf(self, v):
if not isinstance(v, bool):
raise TypeError('input value should be a boolean type')
self.__conf['auth']['enablelocalconf'] = v