コード例 #1
0
    def from_json(json_block):
        """
        Constructor a block from a json string
        :param json_block: a block serialized as a json string
        :return: A block
        """
        tmp_block = Block()
        json_block = json.loads(json_block)
        tmp_block.blockheader = BlockHeader.from_json(
            json_block['blockheader'])

        if tmp_block.blockheader.blocknumber == 0:
            tmp_block.state = json_block['state']
            tmp_block.stake_list = json_block['stake_list']

        json_transactions = json_block['transactions']
        json_duplicate_transactions = json_block['duplicate_transactions']

        tmp_block.transactions = [
            Transaction.from_txdict(tx) for tx in json_transactions
        ]
        tmp_block.duplicate_transactions = [
            DuplicateTransaction().from_txdict(tx)
            for tx in json_duplicate_transactions
        ]

        return tmp_block
コード例 #2
0
ファイル: block.py プロジェクト: jackalyst/QRL
    def json_to_block(self, json_block):
        self.blockheader = BlockHeader()
        self.blockheader.json_to_blockheader(json_block['blockheader'])

        transactions = json_block['transactions']
        self.transactions = []
        for tx in transactions:
            self.transactions.append(Transaction.from_txdict(tx))

        duplicate_transactions = json_block['duplicate_transactions']
        self.duplicate_transactions = []
        for tx in duplicate_transactions:
            self.duplicate_transactions.append(
                DuplicateTransaction().from_txdict(tx))

        if self.blockheader.blocknumber == 0:
            self.state = json_block['state']
            self.stake_list = json_block['stake_list']