API/NEM(XEM)/ハーベストの有効・無効状態を取得するサンプルコード(PHP)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* NEM(XEM)のハーベストの有効・無効状態を取得するサンプル...
NEM(XEM)のハーベストをしていると、時々ハーベスト状態が無...
毎回Nano Walletを起動して確認するのも面倒?ですし、今回紹...
ハーベストが無効になっていた場合にメールを送るようなこと...
以下にPHPによるサンプルコードおよび実行結果を記します。
#contents
#htmlinsert(cc-top.html)
* 参考サイト [#we0a3eea]
-[[ネム(XEM)のハーベスティングが止まっていないかをAPIで...
-[[NEM APIマニュアル 3.1.4.アカウントステータスのリクエス...
* NEM(XEM)の取引ができる日本の取引所 [#q9546101]
- &htmlinsert(zaif.html);
- &htmlinsert(coincheck.html);
上記の2つの値を取得する手順を以下に記します。
* 準備 [#gb83a15d]
本記事で紹介するサンプルコードを実行するにあたり、以下の...
+リモートアカウント
+デリゲート(委任先)ノード
** リモートアカウントの取得手順 [#gc9408a1]
Nano Wallet 2.0.14 のスクリーンショットを使い説明します。
+Nano Walletにログインしてください。
+サービス→デリゲートアカウント(委任アカウント)管理をクリ...
#ref(01.png)
#br
+デリゲートアカウントの有効化/無効化をクリックしてくださ...
+以下のスクリーンショットのようにリモートアカウントが表示...
#ref(03.png)
** デリゲート(委任先)ノードの取得手順 [#i81ef23e]
上記ですでにNano Walletにログイン済なので一部割愛します。
+デリゲートハーベスティングを開始/停止をクリックします。
+以下のスクリーンショットのようにデリゲート(委託先)ノー...
#ref(04.png)
* ハーベスト状態確認サンプルコード [#r8278d07]
ハーベスト状態を確認するサンプルコードは2つのファイルか...
+ harvest.conf.php~
上記で取得した、リモートアカウントとデリゲート(委任先)...
+ harvest_status.php~
デリゲート(委任先)ノードにハーベスト状態を問い合わせる...
** harvest.conf.php [#j683dd78]
本サンプルコードでは、リモートアカウントとデリゲート(委...
$DELEGATE_NODEと$REMOTE_ACCOUNTに上記で取得した値を設定し...
#ref(harvest.conf.php)
<?php
$DELEGATE_NODE="";
$REMOTE_ACCOUNT="";
-例~
リモートアカウントがABCDEFG1234567890, デリゲート(委任先...
<?php
$DELEGATE_NODE="foo.node";
$REMOTE_ACCOUNT="ABCDEFG1234567890";
** harvest_status.php [#l9f43377]
本サンプルコードでデリゲート(委託先)ノードにハーベスト...
#ref(harvest_status.php)
<?php
// API: Requesting the account status
// https://nemproject.github.io/#requesting-the-account-...
// status
// UNLOCKED : Harvest enabled.
// LOCKED : Harvest disabled.
// DELEGATE NODE and REMOTE ACCOUNT config file
$NEM_HARVEST_CONF="./harvest.conf.php";
// proxy settings
$proxy = "";
$proxy_port = "";
if (!file_exists($NEM_HARVEST_CONF)) {
fputs(STDERR, "[ERR] " . $NEM_HARVEST_CONF . " file ...
die(1);
}
require_once($NEM_HARVEST_CONF);
if (empty($DELEGATE_NODE) or empty($REMOTE_ACCOUNT)) {
fputs(STDERR, "[ERR] Please check \$DELEGATE_NODE an...
die(2);
}
// API URL : <DELEGATE NODE>:7890/account/status?address...
$url = $DELEGATE_NODE . ":7890/account/status?address=" ...
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($cu...
die(1);
}
// curl set options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
// set proxy server settings
if (!empty($proxy) && !empty($proxy_port)) {
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($curl, CURLOPT_PROXY, $proxy . ":" . $pr...
curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
}
// call status api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error($cu...
die(1);
}
curl_close($curl);
// json decode
$json_decode = json_decode($response, true);
if ($json_decode == NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_last_er...
die(1);
}
// check response
if (!array_key_exists("status", $json_decode)) {
fputs(STDERR, "[ERR] unknown response: " . print_r($...
die(1);
}
// check harvest status
$status = $json_decode["status"];
switch ($status) {
case "UNLOCKED":
echo "enabled" . PHP_EOL;
break;
case "LOCKED":
echo "disabled" . PHP_EOL;
break;
default:
fputs(STDERR, "[ERR] unknown status: " . $status...
die(1);
}
exit(0);
* 実行例 [#vf741229]
本サンプルコードを実行した時の出力です。
-ハーベストが有効の場合
$ php harvest_status.php
enabled
-ハーベストが無効の場合
$ php harvest_status.php
disabled
以上、NEX(XEM)のハーベスト状態を確認するサンプルコードで...
#htmlinsert(cc-btm.html)
終了行:
#navi(../)
* NEM(XEM)のハーベストの有効・無効状態を取得するサンプル...
NEM(XEM)のハーベストをしていると、時々ハーベスト状態が無...
毎回Nano Walletを起動して確認するのも面倒?ですし、今回紹...
ハーベストが無効になっていた場合にメールを送るようなこと...
以下にPHPによるサンプルコードおよび実行結果を記します。
#contents
#htmlinsert(cc-top.html)
* 参考サイト [#we0a3eea]
-[[ネム(XEM)のハーベスティングが止まっていないかをAPIで...
-[[NEM APIマニュアル 3.1.4.アカウントステータスのリクエス...
* NEM(XEM)の取引ができる日本の取引所 [#q9546101]
- &htmlinsert(zaif.html);
- &htmlinsert(coincheck.html);
上記の2つの値を取得する手順を以下に記します。
* 準備 [#gb83a15d]
本記事で紹介するサンプルコードを実行するにあたり、以下の...
+リモートアカウント
+デリゲート(委任先)ノード
** リモートアカウントの取得手順 [#gc9408a1]
Nano Wallet 2.0.14 のスクリーンショットを使い説明します。
+Nano Walletにログインしてください。
+サービス→デリゲートアカウント(委任アカウント)管理をクリ...
#ref(01.png)
#br
+デリゲートアカウントの有効化/無効化をクリックしてくださ...
+以下のスクリーンショットのようにリモートアカウントが表示...
#ref(03.png)
** デリゲート(委任先)ノードの取得手順 [#i81ef23e]
上記ですでにNano Walletにログイン済なので一部割愛します。
+デリゲートハーベスティングを開始/停止をクリックします。
+以下のスクリーンショットのようにデリゲート(委託先)ノー...
#ref(04.png)
* ハーベスト状態確認サンプルコード [#r8278d07]
ハーベスト状態を確認するサンプルコードは2つのファイルか...
+ harvest.conf.php~
上記で取得した、リモートアカウントとデリゲート(委任先)...
+ harvest_status.php~
デリゲート(委任先)ノードにハーベスト状態を問い合わせる...
** harvest.conf.php [#j683dd78]
本サンプルコードでは、リモートアカウントとデリゲート(委...
$DELEGATE_NODEと$REMOTE_ACCOUNTに上記で取得した値を設定し...
#ref(harvest.conf.php)
<?php
$DELEGATE_NODE="";
$REMOTE_ACCOUNT="";
-例~
リモートアカウントがABCDEFG1234567890, デリゲート(委任先...
<?php
$DELEGATE_NODE="foo.node";
$REMOTE_ACCOUNT="ABCDEFG1234567890";
** harvest_status.php [#l9f43377]
本サンプルコードでデリゲート(委託先)ノードにハーベスト...
#ref(harvest_status.php)
<?php
// API: Requesting the account status
// https://nemproject.github.io/#requesting-the-account-...
// status
// UNLOCKED : Harvest enabled.
// LOCKED : Harvest disabled.
// DELEGATE NODE and REMOTE ACCOUNT config file
$NEM_HARVEST_CONF="./harvest.conf.php";
// proxy settings
$proxy = "";
$proxy_port = "";
if (!file_exists($NEM_HARVEST_CONF)) {
fputs(STDERR, "[ERR] " . $NEM_HARVEST_CONF . " file ...
die(1);
}
require_once($NEM_HARVEST_CONF);
if (empty($DELEGATE_NODE) or empty($REMOTE_ACCOUNT)) {
fputs(STDERR, "[ERR] Please check \$DELEGATE_NODE an...
die(2);
}
// API URL : <DELEGATE NODE>:7890/account/status?address...
$url = $DELEGATE_NODE . ":7890/account/status?address=" ...
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($cu...
die(1);
}
// curl set options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
// set proxy server settings
if (!empty($proxy) && !empty($proxy_port)) {
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($curl, CURLOPT_PROXY, $proxy . ":" . $pr...
curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
}
// call status api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error($cu...
die(1);
}
curl_close($curl);
// json decode
$json_decode = json_decode($response, true);
if ($json_decode == NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_last_er...
die(1);
}
// check response
if (!array_key_exists("status", $json_decode)) {
fputs(STDERR, "[ERR] unknown response: " . print_r($...
die(1);
}
// check harvest status
$status = $json_decode["status"];
switch ($status) {
case "UNLOCKED":
echo "enabled" . PHP_EOL;
break;
case "LOCKED":
echo "disabled" . PHP_EOL;
break;
default:
fputs(STDERR, "[ERR] unknown status: " . $status...
die(1);
}
exit(0);
* 実行例 [#vf741229]
本サンプルコードを実行した時の出力です。
-ハーベストが有効の場合
$ php harvest_status.php
enabled
-ハーベストが無効の場合
$ php harvest_status.php
disabled
以上、NEX(XEM)のハーベスト状態を確認するサンプルコードで...
#htmlinsert(cc-btm.html)
ページ名: