Blockchain
在數學或 Python 表示法中 - 如何將位轉換為難度?
問題
&
請問如何在位和難度之間轉換。不幸的是,我沒有得到答案,因為我不知道 C(我認為是 C)並且顯然缺乏 CS 知識。
誰能用數學符號或高級程式碼(Python?)展示如何將例如 392009692 位轉換為 3,007,383,866,429.73 的難度?如塊
<https://blockchain.info/block/00000000000000000025c089d0a7b2bf6241888c4dd90ab7a4c4baa6a2823551>
非常感謝!
此程式碼段將您的 blockchain.info 連結中出現的 nbits 整數轉換為難度
def nbits(num): # Convert integer to hex hexstr = format(num, 'x') first_byte, last_bytes = hexstr[0:2], hexstr[2:] # convert bytes back to int first, last = int(first_byte, 16), int(last_bytes, 16) return last * 256 ** (first - 3) def difficulty(num): # Difficulty of genesis block / current return 0x00ffff0000000000000000000000000000000000000000000000000000 / nbits(num) >>> difficulty(392009692) 3007383866429.732