getNodeInfo - 获取节点信息
使用getNodeInfo
调用获取指定节点的信息。
调用参数
无
返回结果
getNodeInfo
调用返回一个JSON对象,结构如下:
- appName:IRI网络名称
- appVersion:IRI版本
- jreAvailableProcessors:节点CPU数量
- jreFreeMemory:节点的java虚拟机空闲内存
- jreMaxMemory:节点的java虚拟机最大内存
- jreTotalMemory:节点的java虚拟机内存总量
- jreVersion:节点的java运行时版本
- latestMilestone:最近的里程碑
- latestMilestoneIndex:最近的里程碑索引
- latestSolidSubtangleMilestone:最近的solid里程碑
- latestSolidSubtangleMilestoneIndex:最近的solid里程碑索引
- milestoneStartIndex:当前版本的IRI的起始里程碑
- lastSnapshottedMilestoneIndex:触发节点的本地快照的最近里程碑的索引
- neighbors:已连接的邻居节点的数量
- packetsQueueSize:包队列大小
- time:当前的unix时间戳
- tips:网络中的tips数量
- transactionsToRequest:节点账本中缺失的交易数量
- features:已启用的配置
- coordinatorAddress:协调器地址
- duration:请求执行用时,单位:毫秒
调用成功的HTTP状态码为200,响应示例如下:
{
"appName": "IRI",
"appVersion": "1.7.0-RELEASE",
"jreAvailableProcessors": 8,
"jreFreeMemory": 2115085674,
"jreVersion": "1.8.0_191",
"jreMaxMemory": 20997734400,
"jreTotalMemory": 4860129502,
"latestMilestone": "CUOENIPTRCNECMVOXSWKOONGZJICAPH9FIG9F9KYXF9VYXFUKTNDCCLLWRZNUHZIGLJZFWPOVCIZA9999",
"latestMilestoneIndex": 1050373,
"latestSolidSubtangleMilestone": "CUOENIPTRCNECMVOXSWKOONGZJICAPH9FIG9F9KYXF9VYXFUKTNDCCLLWRZNUHZIGLJZFWPOVCIZA9999",
"latestSolidSubtangleMilestoneIndex": 1050373,
"milestoneStartIndex": 1050101,
"lastSnapshottedMilestoneIndex": 1039138,
"neighbors": 7,
"packetsQueueSize": 0,
"time": 1554970558971,
"tips": 9018,
"transactionsToRequest": 0,
"features": [
"snapshotPruning",
"dnsRefresher",
"tipSolidification"
],
"coordinatorAddress": "EQSAUZXULTTYZCLNJNTXQTQHOMOFZERHTCGTXOLTVAHKSA9OGAZDEKECURBRIXIJWNPFCQIOVFVVXJVD9",
"duration": 0
}
调用失败的HTTP状态码为400,响应示例如下:
{
"error": "'command' parameter has not been specified"
}
示例代码
Python
import urllib2
import json
command = {"command": "getNodeInfo"}
stringified = json.dumps(command)
headers = {
'content-type': 'application/json',
'X-IOTA-API-Version': '1'
}
request = urllib2.Request(url="http://localhost:14265", data=stringified, headers=headers)
returnData = urllib2.urlopen(request).read()
jsonData = json.loads(returnData)
print jsonData
Node.js
var request = require('request');
var command = {"command": "getNodeInfo"}
var options = {
url: 'http://localhost:14265',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-IOTA-API-Version': '1',
'Content-Length': Buffer.byteLength(JSON.stringify(command))
},
json: command
};
request(options, function (error, response, data) {
if (!error && response.statusCode == 200) {
console.log(data);
}
});
命令行
curl http://localhost:14265 \
-X POST \
-H 'Content-Type: application/json' \
-H 'X-IOTA-API-Version: 1' \
-d '{"command": "getNodeInfo"}'