Add ElectrumX get block headers method and tests

This commit is contained in:
Stoyan Zhekov
2020-09-01 23:52:50 +09:00
parent 6a4a861c07
commit 47bd0d66bc
5 changed files with 151 additions and 1 deletions
+54
View File
@@ -391,6 +391,60 @@ class ElectrumX {
else throw error
}
}
/**
* @api Electrumx.blockHeader() blockHeader()
* @apiName ElectrumX Block headers
* @apiGroup ElectrumX
* @apiDescription Return block headers for a given height
*
* @apiExample Example usage:
* (async () => {
* try {
* let headers = await bchjs.Electrumx.blockHeaders(42);
* console.log(headers);
* } catch(error) {
* console.error(error)
* }
* })()
*
* headers = {
* "success": true,
* "headers": [
* "010000008b52bbd72c2f49569059f559c1b1794de5192e4f7d6d2b03c7482bad0000000083e4f8a9d502ed0c419075c1abb5d56f878a2e9079e5612bfb76a2dc37d9c42741dd6849ffff001d2b909dd6",
* "01000000f528fac1bcb685d0cd6c792320af0300a5ce15d687c7149548904e31000000004e8985a786d864f21e9cbb7cbdf4bc9265fe681b7a0893ac55a8e919ce035c2f85de6849ffff001d385ccb7c"
* ]
* }
*
* (async () => {
* try {
* let headers = await bchjs.Electrumx.blockHeaders(42, 1);
* console.log(headers);
* } catch(error) {
* console.error(error)
* }
* })()
*
* headers = {
* "success": true,
* "headers": [
* "010000008b52bbd72c2f49569059f559c1b1794de5192e4f7d6d2b03c7482bad0000000083e4f8a9d502ed0c419075c1abb5d56f878a2e9079e5612bfb76a2dc37d9c42741dd6849ffff001d2b909dd6"
* ]
* }
*
*/
async blockHeader(height, count = 1) {
try {
const response = await axios.get(
`${this.restURL}electrumx/block/headers/${height}?count=${count}`,
_this.axiosOptions
)
return response.data
} catch (error) {
if (error.response && error.response.data) throw error.response.data
else throw error
}
}
}
module.exports = ElectrumX