handlers
这部分请求,服务端直接由核心组件进行处理。
请求涉及:链、区块、交易,交易池、节点,整体服务状态。
/// Gets block details given either a hash or height.
/// Optionally return results as "compact blocks" by passing "?compact" query param GET /v1/blocks/
<hash>
?compact
get blocks
/// Chain handler. Get the head details.
get chain
/// Chain compaction handler. Trigger a compaction of the chain state to regain storage space.
get chain/compact
/// Chain validation handler.
get chain/validate
// Supports retrieval of multiple outputs in a single request
get chain/outputs
/// Temporary - fix header by height index.
post chain/height-index
/// Status handler. Post a summary of the server status
get status
// Sum tree handler. Retrieve the roots:
get txhashset/roots
// Last inserted nodes::
get txhashset/lastoutputs?n=10
get txhashset/lastrangeproofs
get txhashset/lastkernels
// UTXO traversal::
get txhashset/outputs?start_index=1
&
max=100
// Build a merkle proof for a given pos
get txhashset/merkleproof?n=1
// Get basic information about the transaction pool.
get pool
// Push new transaction to our local transaction pool.
post pool/push
/// Peer operations
post peers/a.b.c.d:p/ban
post peers/a.b.c.d:p/unban
get peers/all
get peers/connected
get peers/a.b.c.d
每个请求都有对应的 Handler 进行处理。
可以根据客户端需要,组合不同的数据结构。目前主要还是 GET 获取信息,没有 POST 等修改操作。
钱包CMD也可以封装调用这里已经实现的方法。
Handler
IndexHandler
OutputHandler
BlockHandler
HeaderHandler
ChainHandler
ChainCompactHandler
ChainValidationHandler
StatusHandler
TxHashSetHandler
PoolInfoHandler
PoolPushHandler
PeersAllHandler
PeersConnectedHandler
PeerHandler