API/NEM(XEM)/スーパーノード一覧を取得するサンプルコード(PHP)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* NEX(XEM)のスーパーノード一覧を取得するサンプルコード(PH...
NEM(XEM)のスーパーノードの一覧を取得するサンプルコードを...
[[NEM NodeExplorer>https://nodeexplorer.com]]の[[API>http...
[[Complete neighborhood API>https://nemproject.github.io/...
以下にPHPによるサンプルコードおよび実行結果を記します。
#contents
#htmlinsert(cc-top.html)
* 参考サイト [#s06dcd2a]
-[[NEM APIマニュアル 5.2.1.完全な近辺>https://www.pr1sm.c...
* NEM(XEM)の取引ができる日本の取引所 [#b5639fc6]
- &htmlinsert(zaif.html);
- &htmlinsert(coincheck.html);
* サンプルコード(PHP) [#ac016908]
スーパーノードの一覧を取得するサンプルコードについて以下...
** 処理の概要 [#j0eea03c]
サンプルコードの処理について記します。
+ [[NEM NodeExplorer>https://nodeexplorer.com/]]の[[API>h...
https://nodeexplorer.com/api_openapi_version
#ref(01.png)
#br
+ 取得したオンラインサーバに対し、Complete neighborhood A...
+以下のようなJSON(Firefoxで表示)が返却されます。~
PHPサンプルコードでは、activeに格納されている一部情報のみ...
必要に応じてサンプルコードを修正してみてください。
#ref(02.png)
** サンプルコード [#xdafdc9c]
#ref(supernodes.php)
<?php
// API: Complete neighborhood
// https://nemproject.github.io/#complete-neighborhood
// NodeExplorer.com JSON API!
// https://nodeexplorer.com/api
// List all online server with open API and latest version
$OPEN_API_NODE_URL="https://nodeexplorer.com/api_openapi...
// Complete neighborhood API
$COMPLETE_NEIGHBORHOOD = "/node/peer-list/all";
// Get online server with open API an latest version nod...
$res = request($OPEN_API_NODE_URL);
if ($res == FALSE) { die(1); }
foreach($res["nodes"] as $node) {
// Call complete neighborhood API : <REQUEST NODE>:7...
$COMPLETE_NEIGHBORHOOD_URL = "http://" . $node . $CO...
$nodes = request($COMPLETE_NEIGHBORHOOD_URL);
if ($nodes != FALSE) {
break;
}
}
if ($nodes == FALSE) { die(1); }
$inactive = $nodes["inactive"];
$failure = $nodes["failure"];
$busy = $nodes["busy"];
$active = $nodes["active"];
//show_sn_info($inactive);
//show_sn_info($failure);
//show_sn_info($busy);
show_sn_info($active);
exit(0);
//------------------------------------------------------...
// functions
//------------------------------------------------------...
function request($url) {
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error...
return FALSE;
}
// curl set options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
// call api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error...
return FALSE;
}
curl_close($curl);
// json decode
$res = json_decode($response, true);
if ($res== NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_las...
return FALSE;
}
return $res;
}
function show_sn_info($nodes_info) {
if (count($nodes_info) == 0) {
return;
}
for ($i=0; $i<count($nodes_info); $i++) {
$node = $nodes_info[$i];
$metaData = $node["metaData"];
$endpoint = $node["endpoint"];
$identity = $node["identity"];
printf("HOST: %s, VER: %s, NAME: %s" . PHP_EOL,
$endpoint["host"],
$metaData["version"],
$identity["name"]
);
}
}
* 実行例 [#dd66594a]
実行方法は以下のようになります。
php supernodes.php
以下、実行結果です。
$ php supernodes.php
HOST: 202.5.19.142, VER: 0.6.93-BETA, NAME: any-b
HOST: 160.16.177.197, VER: 0.6.93-BETA, NAME: Pro-27
HOST: 176.95.26.121, VER: 0.6.93-BETA, NAME: Rinda
HOST: 150.95.213.212, VER: 0.6.93-BETA, NAME: suprenode.me
HOST: nsm.supernode.me, VER: 0.6.93-BETA, NAME: NSM
HOST: 188.166.32.83, VER: 0.6.93-BETA, NAME: x-ray.nemsp...
HOST: 139.59.240.10, VER: 0.6.93-BETA, NAME: mike.nemspa...
HOST: 209.126.98.204, VER: 0.6.95-BETA, NAME: Hi, I am A...
HOST: 162.243.227.155, VER: 0.6.93-BETA, NAME: Bitcoin.c...
HOST: 160.16.179.250, VER: 0.6.93-BETA, NAME: Pro-22
<省略>
#ref(03.png)
#br
以上、NEX(XEM)のスーパーノード一覧を取得するサンプルコー...
#htmlinsert(cc-btm.html)
終了行:
#navi(../)
* NEX(XEM)のスーパーノード一覧を取得するサンプルコード(PH...
NEM(XEM)のスーパーノードの一覧を取得するサンプルコードを...
[[NEM NodeExplorer>https://nodeexplorer.com]]の[[API>http...
[[Complete neighborhood API>https://nemproject.github.io/...
以下にPHPによるサンプルコードおよび実行結果を記します。
#contents
#htmlinsert(cc-top.html)
* 参考サイト [#s06dcd2a]
-[[NEM APIマニュアル 5.2.1.完全な近辺>https://www.pr1sm.c...
* NEM(XEM)の取引ができる日本の取引所 [#b5639fc6]
- &htmlinsert(zaif.html);
- &htmlinsert(coincheck.html);
* サンプルコード(PHP) [#ac016908]
スーパーノードの一覧を取得するサンプルコードについて以下...
** 処理の概要 [#j0eea03c]
サンプルコードの処理について記します。
+ [[NEM NodeExplorer>https://nodeexplorer.com/]]の[[API>h...
https://nodeexplorer.com/api_openapi_version
#ref(01.png)
#br
+ 取得したオンラインサーバに対し、Complete neighborhood A...
+以下のようなJSON(Firefoxで表示)が返却されます。~
PHPサンプルコードでは、activeに格納されている一部情報のみ...
必要に応じてサンプルコードを修正してみてください。
#ref(02.png)
** サンプルコード [#xdafdc9c]
#ref(supernodes.php)
<?php
// API: Complete neighborhood
// https://nemproject.github.io/#complete-neighborhood
// NodeExplorer.com JSON API!
// https://nodeexplorer.com/api
// List all online server with open API and latest version
$OPEN_API_NODE_URL="https://nodeexplorer.com/api_openapi...
// Complete neighborhood API
$COMPLETE_NEIGHBORHOOD = "/node/peer-list/all";
// Get online server with open API an latest version nod...
$res = request($OPEN_API_NODE_URL);
if ($res == FALSE) { die(1); }
foreach($res["nodes"] as $node) {
// Call complete neighborhood API : <REQUEST NODE>:7...
$COMPLETE_NEIGHBORHOOD_URL = "http://" . $node . $CO...
$nodes = request($COMPLETE_NEIGHBORHOOD_URL);
if ($nodes != FALSE) {
break;
}
}
if ($nodes == FALSE) { die(1); }
$inactive = $nodes["inactive"];
$failure = $nodes["failure"];
$busy = $nodes["busy"];
$active = $nodes["active"];
//show_sn_info($inactive);
//show_sn_info($failure);
//show_sn_info($busy);
show_sn_info($active);
exit(0);
//------------------------------------------------------...
// functions
//------------------------------------------------------...
function request($url) {
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error...
return FALSE;
}
// curl set options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
// call api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error...
return FALSE;
}
curl_close($curl);
// json decode
$res = json_decode($response, true);
if ($res== NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_las...
return FALSE;
}
return $res;
}
function show_sn_info($nodes_info) {
if (count($nodes_info) == 0) {
return;
}
for ($i=0; $i<count($nodes_info); $i++) {
$node = $nodes_info[$i];
$metaData = $node["metaData"];
$endpoint = $node["endpoint"];
$identity = $node["identity"];
printf("HOST: %s, VER: %s, NAME: %s" . PHP_EOL,
$endpoint["host"],
$metaData["version"],
$identity["name"]
);
}
}
* 実行例 [#dd66594a]
実行方法は以下のようになります。
php supernodes.php
以下、実行結果です。
$ php supernodes.php
HOST: 202.5.19.142, VER: 0.6.93-BETA, NAME: any-b
HOST: 160.16.177.197, VER: 0.6.93-BETA, NAME: Pro-27
HOST: 176.95.26.121, VER: 0.6.93-BETA, NAME: Rinda
HOST: 150.95.213.212, VER: 0.6.93-BETA, NAME: suprenode.me
HOST: nsm.supernode.me, VER: 0.6.93-BETA, NAME: NSM
HOST: 188.166.32.83, VER: 0.6.93-BETA, NAME: x-ray.nemsp...
HOST: 139.59.240.10, VER: 0.6.93-BETA, NAME: mike.nemspa...
HOST: 209.126.98.204, VER: 0.6.95-BETA, NAME: Hi, I am A...
HOST: 162.243.227.155, VER: 0.6.93-BETA, NAME: Bitcoin.c...
HOST: 160.16.179.250, VER: 0.6.93-BETA, NAME: Pro-22
<省略>
#ref(03.png)
#br
以上、NEX(XEM)のスーパーノード一覧を取得するサンプルコー...
#htmlinsert(cc-btm.html)
ページ名: