Blockchain API手册

支付处理API
支付处理API概述 receive - 生成收款地址 receive/balance_update - 监听指定地址的交易 receive/block_notification - 监听新区块通知 receive/checkgap - 检查地址间隔 receive/callback_log - 调试未完成支付
区块链钱包API
区块链钱包API概述 create - 创建钱包 merchant/*/payment - 向单一地址支付 merchant/*/sendmany - 向多个地址支付 merchant/*/balance - 读取钱包余额 merchant/*/list - 列出钱包中的活动地址 merchant/*/address_balance - 获取指定地址的余额 merchant/*/new_address - 生成一个新地址 merchant/*/archive_address - 归档指定的地址 merchant/*/unarchive_address - 解除指定地址的归档
区块链数据API
区块链数据API概述 rawblock - 获取指定区块的数据 rawtx - 获取指定交易的数据 charts - 获取指定图表的数据 block-height - 获取指定高度的区块数据 rawaddr - 获取指定地址的相关数据 multiaddr - 获取多个地址的相关信息 unspent - 获取指定地址的未消费输出 balance - 获取指定地址的比特币余额 latestblock - 获取最新区块信息 unconfirmed-transactions - 获取未确认的交易清单 blocks - 获取指定条件的区块清单
简明查询API
简明查询API概述 q/getdifficulty - 获取当前难度目标 q/getblockcount - 获取最长链当前区块高度 q/latesthash - 获取最新区块的哈希 q/bcperblock - 获取当前区块的奖励额度 q/totalbc - 获取流通中的比特币总量 q/probability - 获取单次哈希尝试成功出块的概率 q/hashestowin - 获取成功出块的平均哈希尝试次数 q/nextretarget - 下次重设难度目标的区块高度 q/avgtxsize - 获取平均交易大小 q/avgtxvalue - 获取平均交易金额 q/interval - 获取平均出块间隔 q/eta - 下次出块时间预估 q/avgtxnumber - 获取区块平均交易数量 q/getreceivedbyaddress - 获取指定地址收到的比特币数量 q/getsentbyaddress - 获取指定地址发送的比特币数量 q/addressbalance - 获取指定地址的比特币余额 q/addressfirstseen - 获取指定地址首次出现时间戳 q/txtotalbtcoutput - 获取指定交易的输出总金额 q/txtotalbtcinput - 获取指定交易的输入总金额 q/txfee - 获取指定交易的手续费 q/txresult - 计算指定地址的交易执行结果 q/addresstohash - 将比特币地址转换为160哈希 q/hashtoaddress - 将160哈希转换为比特币地址 q/hashpubkey - 将公钥转换为哈希160 q/addrpubkey - 将公钥转换为地址 q/pubkeyaddr - 将地址转换为公钥 q/unconfirmedcount - 获取待定交易数量 q/24hrprice - 获取比特币24小时加权价格 q/marketcap - 获取市场总规模 q/24hrtransactioncount - 获取过去24小时的交易总数 q/24hrbtcsent - 获取过去24小时发送的比特币总量 q/hashrate - 获取网络哈希速率估算值 q/rejected - 获取指定交易被拒的原因
WebSocket实时通知API
WebSocket实时通知API概述 ping - 连通测试 unconfirmed_sub - 订阅未确认交易通知 unconfirmed_unsub - 取消订阅未确认交易通知 addr_sub - 订阅指定地址的新交易通知 addr_unsub - 取消订阅指定地址的新交易通知 block_sub - 订阅新区块通知 block_unsub - 取消订阅新区块通知 ping_block - 附带区块信息的连通测试 ping_tx - 附带交易信息的连通测试
市场行情数据API
市场行情数据API概述 ticker - 获取币种代码表 tobtc - 汇率换算
统计图表API
统计图表API概述 charts - 获取图表数据 stats - 获取统计数据 pools - 获取矿池信息

charts - 获取图表数据

使用charts调用获取图表数据。

API调用

GET charts/$chartName

URI参数:

查询参数:

  • timespan:时间范围,可选。对大多数图表其默认值为1年,对内存池图表则默认值为1周
  • rollingAverage:滑动平均窗口,可选
  • start:图表数据起始时间
  • format:数据格式,json - JSON,csv - CSV,默认为JSON格式
  • sampled:是否采样,可选,默认值:true。当设置为true时,将通过采样以保证返回的数据大小大约为1.5k,避免性能恶化

API返回值

返回数据根据format参数可能为JSON或CSV格式,当返回JSON数据时,主要字段如下:

  • status:调用执行状态
  • name:图表名称
  • unit:图表单位
  • period:数据周期
  • description:图表描述
  • values:图表数据数组,每个成员的x和y分别表示图表的x轴和y轴数据值

示例代码

使用curl调用charts的示例代码如下:

curl  https://api.blockchain.info/charts/transactions-per-second?timespan=5weeks&rollingAverage=8hours&format=json

返回值:

{
  "status": "ok",
  "name": "Transaction Rate",
  "unit": "Transactions Per Second",
  "period": "minute",
  "description": "The number of Bitcoin transactions added to the mempool per second.",
  "values": [
    {
      "x": 1554621960,
      "y": 3.9451041666666677
    },
    {
      "x": 1554624000,
      "y": 3.91482638888889
    },
    ...
  ]
}