get_blockchain_service
Retrieve detailed information about blockchain services, including supported RPC methods, for networks like Ethereum, Solana, and Polygon using Grove's Pocket Network endpoints.
Instructions
Get details about a specific blockchain service including supported RPC methods
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| blockchain | Yes | Blockchain name (e.g., "ethereum", "polygon", "solana") | |
| network | No | Network type (defaults to mainnet) |
Implementation Reference
- Handler logic for the 'get_blockchain_service' tool: extracts parameters, retrieves service via blockchainService.getServiceByBlockchain(), returns JSON details or error.case 'get_blockchain_service': { const blockchain = args?.blockchain as string; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const service = blockchainService.getServiceByBlockchain(blockchain, network); if (!service) { return { content: [ { type: 'text', text: `Blockchain service not found: ${blockchain} (${network})`, }, ], isError: true, }; } return { content: [ { type: 'text', text: JSON.stringify(service, null, 2), }, ], }; }
- Input schema and metadata for the 'get_blockchain_service' tool defining parameters blockchain (required) and network (optional).{ name: 'get_blockchain_service', description: 'Get details about a specific blockchain service including supported RPC methods', inputSchema: { type: 'object', properties: { blockchain: { type: 'string', description: 'Blockchain name (e.g., "ethereum", "polygon", "solana")', }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['blockchain'], }, },
- src/index.ts:88-106 (registration)Registration of the tool by including registerBlockchainHandlers in the tools list, which is returned by ListToolsRequestHandler.const tools: Tool[] = [ ...registerBlockchainHandlers(server, blockchainService), ...registerDomainHandlers(server, domainResolver), ...registerTransactionHandlers(server, advancedBlockchain), ...registerTokenHandlers(server, advancedBlockchain), ...registerMultichainHandlers(server, advancedBlockchain), ...registerContractHandlers(server, advancedBlockchain), ...registerUtilityHandlers(server, advancedBlockchain), ...registerEndpointHandlers(server, endpointManager), ...registerSolanaHandlers(server, solanaService), ...registerCosmosHandlers(server, cosmosService), ...registerSuiHandlers(server, suiService), ...registerDocsHandlers(server, docsManager), ]; // Handle tool listing server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });