def block(arg=None): """ /blocks/ return N last blocks /blocks/head return head /blocks/<int> return block by number /blocks/<hex> return block by hexhash """ logger.debug('blocks/%s', arg) try: if arg is None: return blocks() elif arg == 'head': blk = chain_manager.head elif arg.isdigit(): blk = chain_manager.get( chain_manager.index.get_block_by_number(int(arg))) else: try: h = arg.decode('hex') except TypeError: raise KeyError blk = chain_manager.get(h) except KeyError: return bottle.abort(404, 'Unknown Block %s' % arg) return make_blocks_response([blk])
def block(blockhash=None): logger.debug('blocks/%s', blockhash) blockhash = blockhash.decode('hex') if blockhash in chain_manager: return make_blocks_response(chain_manager.get(blockhash)) else: return bottle.abort(404, 'No block with id %s' % blockhash)
def dump(txblkhash): """ /dump/<hash> return state dump after transaction or block """ try: blk = chain_manager.get(txblkhash.decode('hex')) except: try: # index test_blk, tx = _get_block_before_tx(txblkhash) except (KeyError, TypeError): return bottle.abort(404, 'Unknown Transaction %s' % txblkhash) processblock.apply_transaction(test_blk, tx) blk = test_blk # format return blk.to_dict(with_state=True)
def block(arg=None): """ /blocks/ return N last blocks /blocks/head return head /blocks/<int> return block by number /blocks/<hex> return block by hexhash """ logger.debug('blocks/%s', arg) try: if arg is None: return blocks() elif arg == 'head': blk = chain_manager.head elif arg.isdigit(): blk = chain_manager.get(chain_manager.index.get_block_by_number(int(arg))) else: try: h = arg.decode('hex') except TypeError: raise KeyError blk = chain_manager.get(h) except KeyError: return bottle.abort(404, 'Unknown Block %s' % arg) return make_blocks_response([blk])
def dump(txblkhash): """ /dump/<hash> return state dump after transaction or block """ try: blk = chain_manager.get(txblkhash.decode('hex')) except: try: # index test_blk, tx, i = _get_block_before_tx(txblkhash) except (KeyError, TypeError): return bottle.abort(404, 'Unknown Transaction %s' % txblkhash) processblock.apply_transaction(test_blk, tx) blk = test_blk # format return blk.to_dict(with_state=True, with_uncles=True)