Bitcoin

Electrum testnet wallets do not display the trading record for the address.

I apologize for the basic and foolish questions because I first encountered this business. I tried to find information, but I couldn’t do it.

I have sent multiple transfer to the address shown in the following example.

Electrum testnet wallets do not display the trading record for the address.

I also have this transmission in my history, and they are marked as successful. For reference, I moved from the wallet to the address connected to the wallet.

2

It is also connected to the test network.

3

As you can see in the wallet, everything exists and everything is okay, but there is nothing when trying to check my address.

Here, I checked the address through a special site.

4


I wrote a small program to confirm the history and balance of the address, but nothing is displayed.

Connecting to Electrum server...
Successfully connected to Electrum server.
Address: tb1qc7j5j80s02gupl0qa3svg5kr99smjdq9a7yezd
ScriptHash: bb72dcabbea723d56aa49cd29575e53aaabf832f9dbdb45f251b56e187ce915a
Raw history response: ()
Fetching transaction history...
Found 0 transactions.
Total balance for tb1qc7j5j80s02gupl0qa3svg5kr99smjdq9a7yezd: 0 satoshis (0 BTC)
Current block height: 900621
Disconnected from Electrum server.

Here is the code of the program itself.

import * as bitcoin from 'bitcoinjs-lib';
import  ElectrumClient, ElectrumClientEvents  from '@electrum-cash/network';

const ELECTRUM_HOST = 'blackie.c3-soft.com';
const ADDRESS = 'tb1qc7j5j80s02gupl0qa3svg5kr99smjdq9a7yezd';
const NETWORK = bitcoin.networks.testnet;

function addressToElectrumScriptHash(address: string, network: bitcoin.Network): string | null 
  try 
    const outputScript = bitcoin.address.toOutputScript(address, network);
    const hash = bitcoin.crypto.sha256(outputScript);
    return Buffer.from(hash.reverse()).toString('hex');
   catch (e) 
    console.error(`Failed to convert address $address to scripthash: $e.message`);
    return null;
  


async function debugScripthashHistory(client: ElectrumClient<ElectrumClientEvents>, scriptHash: string) 
  try 
    const history = await client.request('blockchain.scripthash.get_history', scriptHash);
    console.log('Raw history response:', JSON.stringify(history, null, 2));
   catch (error) 
    console.error('Error fetching raw history:', error.message);
  


async function checkAddress() {
  const client = new ElectrumClient(
    'Address Checker',
    '1.4.1',
    ELECTRUM_HOST,
  );

  try {
    console.log('Connecting to Electrum server...');
    await client.connect();
    console.log('Successfully connected to Electrum server.');

    const scriptHash = addressToElectrumScriptHash(ADDRESS, NETWORK);
    if (!scriptHash) 
      console.error('Failed to generate scripthash for address.');
      return;
    
    console.log(`Address: $ADDRESS`);
    console.log(`ScriptHash: $scriptHash`);
    await debugScripthashHistory(client, scriptHash);

    console.log('Fetching transaction history...');
    const historyResult = await client.request('blockchain.scripthash.get_history', scriptHash);
    if (historyResult instanceof Error) 
      console.error(`Error fetching history: $historyResult.message`);
      return;
    
    if (!Array.isArray(historyResult)) 
      console.error('Unexpected history response:', historyResult);
      return;
    

    const history = historyResult as  tx_hash: string; height: number ();
    console.log(`Found $history.length transactions.`);

    let totalBalance = 0;
    for (const tx of history) 
      const txHash = tx.tx_hash;
      console.log(`Processing transaction: $txHash (Block height: $tx.height)`);

      const txDataResult = await client.request('blockchain.transaction.get', txHash, true);
      if (txDataResult instanceof Error) 
        console.error(`Error fetching transaction $txHash: $txDataResult.message`);
        continue;
      
      if (!txDataResult 

    console.log(`Total balance for $ADDRESS: $totalBalance satoshis ($totalBalance / 1e8 BTC)`);

    const blockHeightResponse = await client.request('blockchain.headers.subscribe');
    if (blockHeightResponse && typeof blockHeightResponse === 'object' && 'height' in blockHeightResponse) 
      console.log(`Current block height: $blockHeightResponse.height`);
    

  } catch (error) 
    console.error('Error during address check:', error.message);
   finally 
    try 
      await client.disconnect();
      console.log('Disconnected from Electrum server.');
     catch (e) 
      console.error('Error during disconnection:', e.message);
    
  
}

checkAddress().catch(console.error);

Related Articles

Back to top button