def prepare_mine_swblock(self): block_txs = [] pool_txs = Blockchain.get_transactions_to_block() if pool_txs != ['']: block_txs.append(pool_txs) f = open(MINER_PRIVKEY_FILE, 'r') miner_privkey = f.read() f.close() miner_privkey = miner_privkey.replace('\n', '') miner_hashed_pbk = Wallet.get_hashed_pbk_from_addr( Wallet.bech32_addr_from_privkey(miner_privkey, NETWORKS.BITCOIN)) coinbase = SwCoinbaseTransaction(1, miner_hashed_pbk, 0, out_value=self.blockchain.coinbase) raw_coinbase_tx = coinbase.get_raw_transaction(hex=True) block_txs.append(raw_coinbase_tx) last_block = Blockchain.get_n_block(last=True) last_block_h = last_block.hash_block() timestamp = int(time.time()) new_block = Block(version=1, bits=2, previous_hash=last_block_h, transactions=block_txs, timestamp=timestamp) return new_block
def do_show_miner_data(self, args): try: f = open(MINER_PRIVKEY_FILE, 'r') privkey = f.read().replace('\n', '') f.close() miner_bech_addr = Wallet.bech32_addr_from_privkey( privkey, NETWORKS.BITCOIN) prLightPurple("Miner bech32 addr : [" + miner_bech_addr + "]") miner_addr = Wallet.private_key_to_addr(privkey) prLightPurple("Miner raw addr: [" + miner_addr + "]") except Exception as e: prRed(e)
def genesis_block(self): prev_hash = '0000000000000000000000000000000000000000000000000000000000000000' f = open(MINER_PRIVKEY_FILE, 'r') miner_prkey = f.read().replace('\n', '') f.close() hashed_pbk = Wallet.get_hashed_pbk_from_addr( Wallet.bech32_addr_from_privkey(miner_prkey, NETWORKS.BITCOIN)) coin_tsx = SwCoinbaseTransaction(1, hashed_pbk, 0, out_value=self.coinbase) serialized_tx = coin_tsx.get_raw_transaction(hex=True) genesis = Block(bits=self.complexity, timestamp=0, previous_hash=prev_hash, transactions=[serialized_tx]) self.mine(genesis) return genesis