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 - 获取矿池信息

receive/block_notificatoin - 监听新区块通知

使用receive/block_notificatoin调用监听新区块通知。

API调用

POST v2/receive/block_notificatoin

表单参数:

  • callback:回调URL,注意要先将该URL进行url编码处理
  • key:blockchain.info的v2支付api密钥,点击这里申请密钥:https://api.blockchain.info/v2/apikey/request/
  • onNotification:请求通知行为,KEEP或DELETE
  • confs:发送通知前区块需要的最小确认数,可选,默认值:1
  • height:发送通知的区块高度,可选,默认值:当前区块高度+1

API返回值

返回新创建的监听请求,主要字段如下:

  • id:监听请求id
  • height:通知发送区块高度
  • callback:回调URL
  • confs:通知前区块需要达到的最小确认数
  • onNotification:通知处理行为

示例代码

使用curl调用receive/block_notificatoin的示例代码如下:

curl -H "Content-Type: text/plain" --data '{"key":"[your-key-here]","height":500000,"callback":"https://mysite.com/block?request_id=1234","onNotification":"DELETE"}' https://api.blockchain.info/v2/receive/block_notification

返回值:

{
  "id" : 64,
  "height" : 500000,
  "callback" : "https://mysite.com/block?request_id=1234",
  "confs" : 1,
  "onNotification" : "DELETE"
}

响应中的id可用来删除请求,例如:

curl -X DELETE "https://api.blockchain.info/v2/receive/block_notificatoin/70?key=[your-key-here]"

将得到如下响应:

{ "deleted": true }