不支持操作:不可写,在python中用链子数硬币

2024-04-23 20:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的是打印区块链中的硬币总数。你知道吗

我正在使用来自Chainscan manual的示例

以下是我目前的代码:

from chainscan import iter_blocks
total_btc = 0
for block in iter_blocks(show_progressbar = True):
    coinbase_tx = next(iter(block.txs))  # the first tx is coinbase
    total_btc += coinbase_tx.get_total_output_value()
print('Total %d satoshis (up to block height %d)' % (total_btc, block.height))

问题是我得到了一个不支持的操作错误。以下是回溯:

UnsupportedOperation                      Traceback (most recent call last)
<ipython-input-3-2b54aca19755> in <module>()
      1 total_btc = 0
----> 2 for block in iter_blocks(show_progressbar = True):
      3     coinbase_tx = next(iter(block.txs))  # the first tx is coinbase
      4     total_btc += coinbase_tx.get_total_output_value()
      5 print('Total %d satoshis (up to block height %d)' % (total_btc, block.height))

/usr/local/lib/python3.5/dist-packages/chainscan/utils.py in iter_blocks(block_iter, **kwargs)
     23     """
     24     if block_iter is None:
---> 25         block_iter = LongestChainBlockIterator(**kwargs)
     26     return block_iter
     27 

/usr/local/lib/python3.5/dist-packages/chainscan/scan.py in __init__(self, block_iter, height_safety_margin, block_filter, **kwargs)
    322         """
    323         if block_iter is None:
--> 324             block_iter = TopologicalBlockIterator(**kwargs)
    325         self.block_iter = block_iter
    326         if height_safety_margin is None:

/usr/local/lib/python3.5/dist-packages/chainscan/scan.py in __init__(self, rawfile_block_iter, **kwargs)
    230         """
    231         if rawfile_block_iter is None:
--> 232             rawfile_block_iter = RawFileBlockIterator(**kwargs)
    233         self.rawfile_block_iter = rawfile_block_iter
    234 

/usr/local/lib/python3.5/dist-packages/chainscan/scan.py in __init__(self, raw_data_iter, **kwargs)
    155         """
    156         if raw_data_iter is None:
--> 157             raw_data_iter = RawDataIterator(**kwargs)
    158         self.raw_data_iter = raw_data_iter
    159 

/usr/local/lib/python3.5/dist-packages/chainscan/rawfiles.py in __init__(self, raw_files_iter, use_mmap, **kwargs)
    115         """
    116         if raw_files_iter is None:
--> 117             raw_files_iter = RawFilesIterator(**kwargs)
    118         self.raw_files_iter = raw_files_iter
    119         self.use_mmap = use_mmap
.



/usr/local/lib/python3.5/dist-packages/click/utils.py in echo(message, file, nl, err, color)
    257 
    258     if message:
--> 259         file.write(message)
    260     file.flush()
    261 

UnsupportedOperation: not writable

有什么想法吗?你知道吗

提前谢谢。你知道吗


Tags: inselfrawifisusrblockkwargs