-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBC-API.js
More file actions
44 lines (35 loc) · 1.5 KB
/
BC-API.js
File metadata and controls
44 lines (35 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const BlockchainAPI = require('./BlockchainAPI');
async function main() {
const api = new BlockchainAPI();
// Example Bitcoin address (Satoshi's genesis block address)
const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa';
try {
console.log('Fetching Bitcoin wallet data...\n');
// Get balance
const balance = await api.getAddressBalance(address);
console.log(`Address: ${address}`);
console.log(`Balance: ${api.formatBTC(balance)}`);
// Get detailed information
const details = await api.getAddressDetails(address, 10);
console.log(`\nWallet Statistics:`);
console.log(`Total Received: ${api.formatBTC(api.satoshisToBTC(details.total_received))}`);
console.log(`Total Sent: ${api.formatBTC(api.satoshisToBTC(details.total_sent))}`);
console.log(`Final Balance: ${api.formatBTC(api.satoshisToBTC(details.final_balance))}`);
console.log(`Total Transactions: ${details.n_tx}`);
// Show recent transactions
console.log(`\nRecent Transactions (Last 5):`);
details.txs.slice(0, 5).forEach((tx, index) => {
console.log(`\n${index + 1}. ${tx.hash}`);
console.log(` Time: ${new Date(tx.time * 1000).toLocaleString()}`);
console.log(` Size: ${tx.size} bytes`);
});
// Cache stats
console.log(`\nCache Statistics:`);
const stats = api.getCacheStats();
console.log(`Cached items: ${stats.size}`);
console.log(`Cache duration: ${stats.duration}ms`);
} catch (error) {
console.error('Error:', error.message);
}
}
main();