人工智能

Blockscout

Blockscout是多链区块链浏览器REST API,提供与Etherscan兼容的JSON-RPC接口,支持查询多链交易、地址和区块数据。

查看官方文档 ↗

接入教程

1. 获取API密钥:访问Blockscout官网,注册并获取免费的API Key,用于调用所有端点。
2. 查询地址余额:向端点 `https://blockscout.com/eth/mainnet/api?module=account&action=balance&address=<钱包地址>&apikey=<你的密钥>` 发送GET请求。
3. 获取交易列表:调用 `https://blockscout.com/eth/mainnet/api?module=account&action=txlist&address=<地址>&apikey=<密钥>` 查看该地址所有交易。
4. 读取区块信息:使用端点 `https://blockscout.com/eth/mainnet/api?module=block&action=getblockreward&blockno=<区块号>&apikey=<密钥>` 获取指定区块的矿工奖励详情。
5. 检查交易状态:通过 `https://blockscout.com/eth/mainnet/api?module=transaction&action=gettxreceiptstatus&txhash=<交易哈希>&apikey=<密钥>` 确认交易是否成功。

使用Python查询以太坊地址余额

python
import requests

base_url = 'https://api.example.com/api'
headers = {
    'Accept': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
}

# 查询地址余额
address = '0x742d35Cc6634C0532925a3b844Bc9e0bbE964C85'
params = {
    'module': 'account',
    'action': 'balance',
    'address': address,
    'tag': 'latest'
}

try:
    response = requests.get(base_url, headers=headers, params=params)
    data = response.json()
    if data['status'] == '1':
        balance = int(data['result']) / 10**18  # 转换为ETH单位
        print(f'地址 {address} 的余额: {balance} ETH')
    else:
        print(f'查询失败: {data["message"]}')
except Exception as e:
    print(f'请求出错: {e}')

使用PHP获取交易详情

php
<?php

$baseUrl = 'https://api.example.com/api';
$apiKey = 'YOUR_API_KEY';

// 获取交易详情
$txHash = '0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b';

$params = [
    'module' => 'transaction',
    'action' => 'gettxinfo',
    'txhash' => $txHash
];

$url = $baseUrl . '?' . http_build_query($params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Accept: application/json',
    'Authorization: Bearer ' . $apiKey
]);

$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo '请求错误: ' . curl_error($ch);
} else {
    $data = json_decode($response, true);
    if ($data['status'] == '1') {
        echo '交易哈希: ' . $data['result']['hash'] . "\n";
        echo '发送方: ' . $data['result']['from'] . "\n";
        echo '接收方: ' . $data['result']['to'] . "\n";
        echo '金额: ' . $data['result']['value'] . "\n";
    } else {
        echo '查询失败: ' . $data['message'];
    }
}
curl_close($ch);

?>

使用JavaScript获取最新区块信息

javascript
const baseUrl = 'https://api.example.com/api';
const apiKey = 'YOUR_API_KEY';

async function getLatestBlock() {
    const params = new URLSearchParams({
        module: 'block',
        action: 'getblocknobytime',
        timestamp: Math.floor(Date.now() / 1000),
        closest: 'before'
    });

    try {
        const response = await fetch(`${baseUrl}?${params}`, {
            method: 'GET',
            headers: {
                'Accept': 'application/json',
                'Authorization': `Bearer ${apiKey}`
            }
        });

        const data = await response.json();
        
        if (data.status === '1') {
            const blockNumber = data.result;
            console.log(`最新区块号: ${blockNumber}`);
            
            // 获取区块详情
            const blockParams = new URLSearchParams({
                module: 'block',
                action: 'getblockreward',
                blockno: blockNumber
            });
            
            const blockResponse = await fetch(`${baseUrl}?${blockParams}`, {
                headers: {
                    'Accept': 'application/json',
                    'Authorization': `Bearer ${apiKey}`
                }
            });
            
            const blockData = await blockResponse.json();
            if (blockData.status === '1') {
                console.log('区块奖励:', blockData.result);
            }
        } else {
            console.error('查询失败:', data.message);
        }
    } catch (error) {
        console.error('请求出错:', error);
    }
}

getLatestBlock();

常见问题

Blockscout API支持哪些区块链网络?

Blockscout支持多链网络,包括以太坊主网、Polygon、Arbitrum、Optimism等EVM兼容链,以及各种测试网络如Goerli、Sepolia等。具体支持的链列表请参考官方文档。

如何获取API密钥?

Blockscout API通常提供免费使用,无需API密钥即可访问基本功能。对于高频使用或企业级应用,建议访问Blockscout官方网站注册账户并申请API密钥,以获得更稳定的服务和支持。

API调用频率有限制吗?

Blockscout对免费API用户通常有调用频率限制,例如每分钟或每秒的最大请求数。具体限制取决于网络负载和您的使用模式。建议查看API文档中的限流政策,并合理设计应用程序以避免超出限制。

相似接口推荐

AWS Global Accelerator

AWS Global Accelerator是一项网络服务,通过优化全球路由和提供静态IP地址,提升应用程序的可用性和性能。它能够将用户流量智能地导向最近的AWS区域端点,减少延迟并提高响应速度。

待确认
亚马逊欺诈检测器

亚马逊欺诈检测器API为开发者提供检测欺诈行为的接口,包含详细的操作指南、数据类型和错误信息。该服务帮助用户通过机器学习模型识别可疑交易和活动。

待确认
防火墙管理服务

该API为开发者提供防火墙管理功能的详细接口文档,包含操作、数据类型和错误代码的完整参考。如需了解防火墙管理服务的具体功能特性,请参阅AWS官方技术文档。

待确认
Amazon Elasticsearch Service

Amazon Elasticsearch配置服务提供创建、配置和管理Elasticsearch域的API。用户可以通过该API设置和管理搜索集群,适用于构建搜索和分析应用。

待确认