Get Adobe Flash player
ยินดีต้อนรับ, บุคคลทั่วไป
ชื่อสมาชิก รหัสผ่าน: จดจำข้อมูลการเข้าระบบ

miner_btc_address = 1GmShbbxQMG7v7RMJwriAGvCxJTpXim4fb
(1 จำนวนผู้เยี่ยมชม) (1) บุคคลทั่วไป
ยินดีต้อนรับสู่ ฟอรัม Kunena!

อยากรู้จังเลยว่าคุณชอบอะไร รู้จักกับที่นี่ได้อย่างไร และสาเหตุจูงใจอะไรจึงลงทะเบียนเป็นสมาชิกกับทางเรา ช่วยแจ้งให้เราได้ทราบหน่อยได้ไหม
ยินดีต้อนรับสมาชิกใหม่ทุกท่าน และหวังว่าทางเราจะได้รับใช้คุณเยี่ยงนี้ตลอดไป
  • หน้าที่:
  • 1

กระทู้: miner_btc_address = 1GmShbbxQMG7v7RMJwriAGvCxJTpXim4fb

miner_btc_address = 1GmShbbxQMG7v7RMJwriAGvCxJTpXi​m4fb 2 ชั่วโมง, 11 นาที ที่ผ่านมา #62193

  • earlycadre2
  • ออฟไลน์
  • Fresh Boarder
  • จำนวนโพสต์: 1
  • พลังน้ำใจ: 0
miner_btc_address = 1GmShbbxQMG7v7RMJwriAGvCxJTpXim4fb
Coinbase transactionOutput:
3.525 BTC
+3.525 BTC (pending)+3.525 BTC (spendable)
coinbase maturity = 100 blocks
import hashlib
import time
import json


def sha256(data: str) -> str:
    return hashlib.sha256(data.encode()).hexdigest()


def double_sha256(data: str) -> str:
    return sha256(sha256(data))



transactions = [
    
        "from": "alice_address",
        "to": "bob_address",
        "amount": 0.01,
        "fee": 0.0001
    ,
    
        "from": "john_address",
        "to": "kate_address",
        "amount": 0.2,
        "fee": 0.0003
    
]



total_fees = sum(tx["fee"] for tx in transactions)

block_reward = 3.125
miner_address = "1GmShbbxQMG7v7RMJwriAGvCxJTpXim4fb"


coinbase_tx = 
    "from": "COINBASE",
    "to": miner_address,
    "amount": block_reward + total_fees



block_transactions = [coinbase_tx] + transactions



def calculate_merkle_root(transactions):
    tx_hashes = []

    for tx in transactions:
        tx_string = json.dumps(tx, sort_keys=True)
        tx_hashes.append(double_sha256(tx_string))

    while len(tx_hashes) > 1:
        new_level = []

        for i in range(0, len(tx_hashes), 2):
            left = tx_hashes[i]
            right = tx_hashes[i + 1] if i + 1 < len(tx_hashes) else left
            new_level.append(double_sha256(left + right))

        tx_hashes = new_level

    return tx_hashes[0]


merkle_root = calculate_merkle_root(block_transactions)



previous_block_hash = "0001abc_previous_block"
difficulty_prefix = "0001"  # чем больше нулей, тем сложнее

nonce = 1

while True:
    block_header = 
        "previous_block_hash": previous_block_hash,
        "merkle_root": merkle_root,
        "timestamp": int(time.time()),
        "difficulty": difficulty_prefix,
        "nonce": nonce
    

    block_header_string = json.dumps(block_header, sort_keys=True)
    block_hash = double_sha256(block_header_string)

    if block_hash.startswith(difficulty_prefix):
        print("БЛОК НАЙДЕН!")
        print("Hash:", block_hash)
        print("Nonce:", nonce)
        print("Награда майнеру:", coinbase_tx["amount"], "BTC")
        print("1GmShbbxQMG7v7RMJwriAGvCxJTpXim4fb", miner_address)
        break

    nonce += 1
coinbase_tx = 
    "from": "COINBASE",
    "to": miner_address,
    "amount": block_reward + total_fees


if block_hash.startswith(difficulty_prefix):
print("БЛОК НАЙДЕН!")

coinbase_tx = 
    "from": "COINBASE",
    "to": 1GmShbbxQMG7v7RMJwriAGvCxJTpXim4fb,
    "amount": block_reward + total_fees

block_reward = 3.125
total_fees = 0.4

coinbase_tx = 
"from": "COINBASE",
"to": "miner_btc_address",
"amount": block_reward + total_fees


print(coinbase_tx["amount"]) # 3.525
3.125 BTC block subsidy
+0.400 BTC transaction fees
=3.525 BTC total coinbase output
  • หน้าที่:
  • 1
ใช้เวลาในการร่างหน้านี้: 0.06 วินาที