Beispiel #1
0
    def commit(self):
        """Store the new height and along with block hash."""

        self.abort_if_abci_chain_is_not_synced()

        data = self.block_txn_hash.encode('utf-8')

        # register a new block only when new transactions are received
        if self.block_txn_ids:
            self.bigchaindb.store_bulk_transactions(self.block_transactions)

        block = Block(app_hash=self.block_txn_hash,
                      height=self.new_height,
                      transactions=self.block_txn_ids)
        # NOTE: storing the block should be the last operation during commit
        # this effects crash recovery. Refer BEP#8 for details
        self.bigchaindb.store_block(block._asdict())

        logger.debug(
            'Commit-ing new block with hash: apphash=%s ,'
            'height=%s, txn ids=%s', data, self.new_height, self.block_txn_ids)

        if self.events_queue:
            event = Event(EventTypes.BLOCK_VALID, {
                'height': self.new_height,
                'transactions': self.block_transactions
            })
            self.events_queue.put(event)

        return ResponseCommit(data=data)
Beispiel #2
0
    def commit(self):
        """Store the new height and along with block hash."""

        data = self.block_txn_hash.encode('utf-8')

        # register a new block only when new transactions are received
        if self.block_txn_ids:
            self.bigchaindb.store_bulk_transactions(self.block_transactions)
            block = Block(app_hash=self.block_txn_hash,
                          height=self.new_height,
                          transactions=self.block_txn_ids)
            # NOTE: storing the block should be the last operation during commit
            # this effects crash recovery. Refer BEP#8 for details
            self.bigchaindb.store_block(block._asdict())

        logger.debug(
            'Commit-ing new block with hash: apphash=%s ,'
            'height=%s, txn ids=%s', data, self.new_height, self.block_txn_ids)
        logger.benchmark('COMMIT_BLOCK, height:%s', self.new_height)
        return ResponseCommit(data=data)
Beispiel #3
0
 def commit(self):
     return ResponseCommit(data=b'0x1234')