Blockchain Explorer

Query and explore Neo N3 blockchain data with comprehensive tools

🌐 Blockchain Information

Get current blockchain status and network information:

Network Status
// Get blockchain information
const blockchainInfo = await tools.get_blockchain_info();

// Get current block count
const blockCount = await tools.get_block_count();

// Get network fee information
const networkFee = await tools.get_network_fee();

// Get version information
const version = await tools.get_version();

console.log("Network status:", {
  blockchain: blockchainInfo,
  blockCount: blockCount,
  networkFee: networkFee,
  version: version
});

// Output:
// {
//   "blockchain": {
//     "network": "testnet",
//     "blockHeight": 5678901,
//     "blockHash": "0x1234567890abcdef...",
//     "nextConsensus": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj"
//   },
//   "blockCount": 5678901,
//   "networkFee": {
//     "gasPerByte": "0.00001",
//     "executionFee": "0.01"
//   },
//   "version": {
//     "tcpPort": 10333,
//     "wsPort": 10334,
//     "nonce": 1234567890,
//     "userAgent": "/Neo:3.6.0/"
//   }
// }

🔗 Block Information

Query blocks by height or hash and explore block contents:

Block Queries
// Get block by height
const blockByHeight = await tools.get_block({
  height: 5678900
});

// Get block by hash
const blockByHash = await tools.get_block({
  hash: "0x1234567890abcdef9876543210fedcba0123456789abcdef"
});

// Get latest block
const latestBlock = await tools.get_latest_block();

// Get block header only (faster)
const blockHeader = await tools.get_block_header({
  height: 5678900
});

console.log("Block information:", {
  byHeight: blockByHeight,
  byHash: blockByHash,
  latest: latestBlock,
  header: blockHeader
});

// Output:
// {
//   "byHeight": {
//     "hash": "0x1234567890abcdef...",
//     "size": 2048,
//     "version": 0,
//     "previousblockhash": "0xfedcba0987654321...",
//     "merkleroot": "0xabcdef1234567890...",
//     "time": 1640995200000,
//     "index": 5678900,
//     "nextconsensus": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
//     "witnesses": [...],
//     "tx": [
//       {
//         "hash": "0x9876543210fedcba...",
//         "size": 256,
//         "version": 0,
//         "nonce": 1234567890,
//         "sender": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
//         "sysfee": "0.00234567",
//         "netfee": "0.00012345",
//         "validuntilblock": 5678910,
//         "script": "0x110c14...",
//         "witnesses": [...]
//       }
//     ],
//     "confirmations": 1,
//     "nextblockhash": "0x5432109876543210..."
//   }
// }

📄 Transaction Queries

Look up transaction details and track transaction status:

Transaction Details
// Get transaction by hash
const transaction = await tools.get_transaction({
  txid: "0x9876543210fedcba0123456789abcdef1234567890"
});

// Get transaction with verbose output
const verboseTransaction = await tools.get_transaction({
  txid: "0x9876543210fedcba0123456789abcdef1234567890",
  verbose: true
});

// Get application log for transaction
const appLog = await tools.get_application_log({
  txid: "0x9876543210fedcba0123456789abcdef1234567890"
});

// Check if transaction is confirmed
const confirmations = await tools.get_transaction_confirmations({
  txid: "0x9876543210fedcba0123456789abcdef1234567890"
});

console.log("Transaction information:", {
  transaction: transaction,
  verbose: verboseTransaction,
  applicationLog: appLog,
  confirmations: confirmations
});

// Output:
// {
//   "transaction": {
//     "hash": "0x9876543210fedcba...",
//     "size": 256,
//     "version": 0,
//     "nonce": 1234567890,
//     "sender": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
//     "sysfee": "0.00234567",
//     "netfee": "0.00012345",
//     "validuntilblock": 5678910,
//     "signers": [...],
//     "attributes": [],
//     "script": "0x110c14...",
//     "witnesses": [...]
//   },
//   "applicationLog": {
//     "txid": "0x9876543210fedcba...",
//     "executions": [
//       {
//         "trigger": "Application",
//         "vmstate": "HALT",
//         "gasconsumed": "2340000",
//         "stack": [...],
//         "notifications": [
//           {
//             "contract": "0xd2a4cff31913016155e38e474a2c06d08be276cf",
//             "eventname": "Transfer",
//             "state": {
//               "type": "Array",
//               "value": [...]
//             }
//           }
//         ]
//       }
//     ]
//   },
//   "confirmations": 15
// }

👤 Address Analytics

Analyze address activity and transaction history:

Address Information
// Get address balance
const balance = await tools.get_balance({
  address: "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj"
});

// Get address transaction history
const txHistory = await tools.get_address_transactions({
  address: "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
  limit: 50,
  offset: 0
});

// Get NEP-17 transfers for address
const nep17Transfers = await tools.get_nep17_transfers({
  address: "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
  startTime: 1640995200000, // Timestamp
  endTime: 1641081600000
});

// Get address UTXO (for NEO/GAS)
const utxos = await tools.get_unspent({
  address: "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
  asset: "NEO"
});

console.log("Address analytics:", {
  balance: balance,
  transactions: txHistory,
  nep17Transfers: nep17Transfers,
  utxos: utxos
});

// Output:
// {
//   "balance": {
//     "NEO": "100",
//     "GAS": "15.5234",
//     "tokens": {
//       "fWMP2dkWM": "1000.00"
//     },
//     "totalValueUSD": "1250.75"
//   },
//   "transactions": {
//     "total": 156,
//     "transactions": [
//       {
//         "txid": "0xabcdef1234567890...",
//         "blockHeight": 5678901,
//         "timestamp": 1640995200,
//         "type": "NEP17Transfer",
//         "amount": "10.00000000",
//         "asset": "NEO",
//         "from": "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj",
//         "to": "NYjzhdekseMYWvYpSoAeypqMiwMuEUDhKB"
//       }
//     ]
//   },
//   "nep17Transfers": {
//     "sent": [...],
//     "received": [...],
//     "totalSent": "500.00",
//     "totalReceived": "750.00"
//   }
// }

📋 Smart Contract State

Query smart contract storage and state information:

Contract State Queries
// Get contract state
const contractState = await tools.get_contract_state({
  contractHash: "0xd2a4cff31913016155e38e474a2c06d08be276cf"
});

// Get contract storage value
const storageValue = await tools.get_storage({
  contractHash: "0xd2a4cff31913016155e38e474a2c06d08be276cf",
  key: "746f74616c537570706c79" // hex encoded "totalSupply"
});

// Find storage values by prefix
const storageItems = await tools.find_storage({
  contractHash: "0xd2a4cff31913016155e38e474a2c06d08be276cf",
  prefix: "62616c616e6365" // hex encoded "balance"
});

// Get all contract storage
const allStorage = await tools.get_contract_storage({
  contractHash: "0xd2a4cff31913016155e38e474a2c06d08be276cf"
});

// Test invoke contract method (read-only)
const testInvoke = await tools.invoke_function({
  contractHash: "0xd2a4cff31913016155e38e474a2c06d08be276cf",
  method: "balanceOf",
  parameters: [
    {
      type: "Hash160",
      value: "NZNos2WqTbu5oCgyfss9kUJgBXJqhuYAaj"
    }
  ]
});

console.log("Contract state:", {
  state: contractState,
  storage: storageValue,
  storageItems: storageItems,
  allStorage: allStorage,
  testInvoke: testInvoke
});

// Output:
// {
//   "state": {
//     "id": 5,
//     "updatecounter": 1,
//     "hash": "0xd2a4cff31913016155e38e474a2c06d08be276cf",
//     "nef": {
//       "magic": 860243278,
//       "compiler": "neo-vm",
//       "source": "",
//       "tokens": [],
//       "script": "0x110c14...",
//       "checksum": 1234567890
//     },
//     "manifest": {
//       "name": "FlamingoCoin",
//       "groups": [],
//       "features": {},
//       "supportedstandards": ["NEP-17"],
//       "abi": {
//         "methods": [...],
//         "events": [...]
//       },
//       "permissions": [...],
//       "trusts": [],
//       "extra": null
//     }
//   },
//   "testInvoke": {
//     "script": "0x110c14...",
//     "state": "HALT",
//     "gasconsumed": "2034810",
//     "stack": [
//       {
//         "type": "Integer",
//         "value": "100000000000"
//       }
//     ]
//   }
// }

🔍 Network Monitoring

Monitor network health and consensus nodes:

Network Health
// Get connected peers
const peers = await tools.get_peers();

// Get consensus nodes
const validators = await tools.get_next_block_validators();

// Get committee members
const committee = await tools.get_committee();

// Get memory pool
const memPool = await tools.get_memory_pool();

// Get node connection count
const connectionCount = await tools.get_connection_count();

console.log("Network monitoring:", {
  peers: peers,
  validators: validators,
  committee: committee,
  memoryPool: memPool,
  connections: connectionCount
});

// Output:
// {
//   "peers": {
//     "unconnected": [],
//     "bad": [],
//     "connected": [
//       {
//         "address": "192.168.1.100",
//         "port": 10333
//       }
//     ]
//   },
//   "validators": [
//     "03c6aa6e12638b36c...",
//     "02ca0e27697b9c24..."
//   ],
//   "committee": [
//     "03c6aa6e12638b36c...",
//     "02ca0e27697b9c24...",
//     "03d281aeb61c0d2b..."
//   ],
//   "memoryPool": {
//     "height": 5678901,
//     "verified": [
//       "0x1234567890abcdef...",
//       "0xfedcba0987654321..."
//     ],
//     "unverified": []
//   },
//   "connections": 8
// }

Next Steps