クリプト

NEMウォレットの着金情報を確認する

mizuno's icon'
  • mizuno
  • 2018/05/31 07:50

昨日の記事「ZAIF APIから仮想通貨の価格を自動取得する方法」では、仮想通貨の為替レートを取得しました。

今日は、NEMウォレットの情報を取得する方法を解説します。(昨日の記事が未読のかたは、まず昨日の記事を読んでいただくことをお勧めします)

Content image

NEMウォレットの情報を取得する

NEMウォレットのアドレスを指定すると、そのアドレスの情報が取得できます。

2018年5月時点では、情報を取得するだけなら認証処理は不要です。(自分のウォレットにお金がどれだけあるか、どのウォレットと取引しているか、は誰でも知ることができます。)

情報が取得できるURL

NEMでは、所定のURLにアクセスすると、ウォレットの情報を取得できます。

http://alice3.nem.ninja:7890/account/transfers/incoming?address=(ウォレットID)

にアクセスすると、以下のようなデータを取得できます。

{"data":[{"meta":{"innerHash":{},"id":2020121,"hash":{"data":"37d4a590d2dc2a93259a24905dd34ca93caac5d6b25d288763b1d3deeaad4f69"},"height":1634788},"transaction":{"timeStamp":98970644,"amount":1000000,"signature":"85d971bdb14c9d2453ea0e284d5777a5030db4af11741f5348d4787efb2dfd2e10a6124317746c5ccc52ec25e9879c7a14cb178b8a737ebee8c80035d3a4d70f","fee":100000,"recipient":"NBZIB7E7Z7WJT67PQMHGBOK6L7OQERNMDQDBIOHR","type":257,"deadline":98992244,"message":{"payload":"7468616e6b796f75","type":1},"version":1744830465,"signer":"967be7f3c8e2badae6e2d0985def14966a2a95db18e787486e147738c737eb73"}}]}

上の例ではトランザクション一個ですが、トランザクションは複数取得できます。

データ形式は、jsonと呼ばれる形式です。

NEMのAPIドキュメントはこちらです。今回は、Incoming transactions(入金トランザクション)です。


処理の流れ

処理の流れは、下記のようになります。プログラミング言語はphpで、ウェブサイト構築ではconcrete5を使う想定です。

0.入金確認したいウォレット・金額・メッセージを調べておく

1.nemのAPIページにアクセスする

2.戻ってくるトランザクションデータをphpの配列に変換する

3.トランザクションデータに、条件にあてはまる金額・メッセージがあるかを確認する

concrete5の例を載せますので、参考にしてください。(コードはオープンソースライセンス GPL ver.2 or later とします。無料でご自由にお使いいただけます。)

コードの例(concrete5)

// 入金されるウォレット
$address = '';
// 入金される金額
$amount = '';
// nemウォレットの情報を取得
$apiurl = 'http://alice3.nem.ninja:7890/account/transfers/incoming';
$url = $apiurl . '?address=' . $address;
//前回と同じなので詳細は省略
$app = \Concrete\Core\Support\Facade\Facade::getFacadeApplication();
$httpClient = $app->make(\Concrete\Core\Http\Client\Client::class);
$httpClient->setUri($url);
$response = $httpClient->send();
$responseBody = $response->getBody();
$data = json_decode($responseBody, true);
// 支払いのチェック
$paid = false;
foreach($data['data'] as $transaction) {
  $amount_transaction = $transaction['transaction']['amount'];
  // 金額をチェックし、OKなら $paid に true
  if ( $amount * 1000000 == $amount_transaction) {
    $paid = true;
  }
}

こうすることで、入金されているか確認することができました。

なお、実際のプロダクト(NEM決済ネットショップ)では、この処理を定期的に実行することにより、購入者が支払ったら、なるべく速く入金確認処理するようにしています。


公開日:2018/05/31
獲得ALIS:6.01
mizuno's icon'
  • mizuno
  • @mizuno
月70万PVウェブメディア「計算フォーム」 https://calculator.jp/ でウェブ集客支援。書籍「WordPressユーザーのためのPHP入門」他一冊。TWITTER: @ounziw

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

Like token Tip token
30.03 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
43.10 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Like token Tip token
69.90 ALIS