Source code for aergo.herapy.obj.blockchain_info

# -*- coding: utf-8 -*-

import json

from .aer import Aer
from .chain_id import ChainID
from .consensus_info import ConsensusInfo


[docs]class BlockchainInfo: def __init__(self, chain_info, consensus_info=None): self._chain_info = chain_info self._chain_id = ChainID(self._chain_info.id) if consensus_info is not None: self._consensus_info = ConsensusInfo(consensus_info) else: self._consensus_info = ConsensusInfo(None, self._chain_id.consensus) @property def number_of_bp(self): return self._chain_info.bpNumber @property def max_block_size(self): return self._chain_info.maxblocksize @property def max_tokens(self): return Aer(self._chain_info.maxtokens) @property def minimum_staking(self): return Aer(self._chain_info.stakingminimum) @property def total_staking(self): return Aer(self._chain_info.totalstaking) @property def gas_price(self): return Aer(self._chain_info.gasprice) @property def name_price(self): return Aer(self._chain_info.nameprice) @property def consensus_info(self): return self._consensus_info
[docs] def json(self): return { "chain_id": self._chain_id.json(), "number_of_bp": str(self.number_of_bp), "max_block_size": self.max_block_size, "max_tokens": str(self.max_tokens), "minimum_staking": str(self.minimum_staking), "total_staking": str(self.total_staking), "gas_price": str(self.gas_price), "name_price": str(self.name_price), "consensus_info": self._consensus_info.json(), }
def __str__(self): return json.dumps(self.json(), indent=2)