A TypeScript library for interacting with the Exatechl2 blockchain.
npm install blockchain-api
This library is built with a modular architecture, making it easy to maintain and extend:
blockchain-api/
├── src/
│ ├── index.ts # Main export file
│ ├── config.ts # Configuration management
│ ├── types/ # Type definitions
│ │ ├── index.ts # Export all types
│ │ ├── block.ts # Block-related types
│ │ ├── transaction.ts # Transaction-related types
│ │ ├── address.ts # Address-related types
│ │ ├── token.ts # Token-related types
│ │ ├── events.ts # Event-related types
│ │ └── search.ts # Search-related types
│ ├── core/ # Core functionality
│ │ ├── index.ts # Export core functions
│ │ └── rpc.ts # Basic RPC functionality
│ ├── modules/ # Feature modules
│ │ ├── index.ts # Export all modules
│ │ ├── blocks/ # Block-related functionality
│ │ │ ├── index.ts # Export block functions
│ │ │ └── blocks.ts # Block operations
│ │ ├── transactions/ # Transaction-related functionality
│ │ │ ├── index.ts # Export transaction functions
│ │ │ └── transactions.ts # Transaction operations
│ │ ├── addresses/ # Address-related functionality
│ │ │ ├── index.ts # Export address functions
│ │ │ └── addresses.ts # Address operations
│ │ ├── tokens/ # Token-related functionality
│ │ │ ├── index.ts # Export token functions
│ │ │ └── tokens.ts # Token operations
│ │ ├── events/ # Event log functionality
│ │ │ ├── index.ts # Export event functions
│ │ │ ├── events.ts # Event log operations
│ │ │ └── README.md # Event module documentation
│ │ └── search/ # Search functionality
│ │ ├── index.ts # Export search functions
│ │ └── search.ts # Search operations
│ └── utils/ # Utility functions
│ ├── index.ts # Export utility functions
│ └── formatters.ts # Data formatting utilities
├── examples/ # Example scripts
│ ├── basic-usage.ts # Basic usage examples
│ ├── list-blocks.ts # Block listing example
│ ├── list-transactions.ts # Transaction listing example
│ ├── batch-info.ts # Batch info example
│ ├── list-events.ts # Event listing example
│ └── search-example.ts # Search functionality example
├── dist/ # Compiled JavaScript output
├── package.json # Project configuration
└── tsconfig.json # TypeScript configuration
import { getBlockByNumber, getTransaction, search } from 'blockchain-api';
// Get block information
const block = await getBlockByNumber(12345);
// Get transaction details
const tx = await getTransaction('0x123...');
// Search for a block, transaction, address, or token
const searchResult = await search('0xabc...');
if (searchResult) {
console.log(`Found ${searchResult.type}: ${searchResult.id}`);
}
The library includes a simple but powerful search feature:
import { search } from 'blockchain-api';
// Search can find blocks, transactions, addresses, or tokens
const result = await search('0x123abc...');
// Result format: { type: 'block'|'transaction'|'address'|'token', id: string }
if (result) {
switch(result.type) {
case 'block':
console.log(`Found block: ${result.id}`);
break;
case 'transaction':
console.log(`Found transaction: ${result.id}`);
break;
case 'address':
console.log(`Found address: ${result.id}`);
break;
case 'token':
console.log(`Found token: ${result.id}`);
break;
}
} else {
console.log('No results found');
}
The search function returns a simple object with type
and id
properties, making it easy to navigate to the appropriate detail page in your application.