catapult-restの/node/info
に出てくるversion
が、いつしか0
でない値になってしばらく経ちました。
ふと気になって、どういう意味か考えてみました。
まずは、Windowsの電卓で16進数にしてみました。
0xA0007
と出ています。
これまでの経験から、4バイトの値であることを感じるので、こうなるでしょう
0x000A0007
ああ、なるほどなるほど、これは1バイトずつ区切って、
0.10.0.7
を表しているように見える。
https://symbolnodes.org/nodes/ を見てみると、なんかそんな感じ。
すっきりしました。
バージョンをパースするコードをJavaScriptで書いてみました
function parseNodeVersion(num) {
const hex = `00000000${Number(num).toString(16)}`.substr(-8)
const strArray = []
for (let i = 0; i < 8; i += 2) {
const octet = Number(`0x${hex[i]}${hex[i + 1]}`).toString(10)
strArray.push(octet)
}
return strArray.join('.')
}
parseNodeVersion(655367)
// return 0.10.0.7