2019-02-04 05:36:13
>>patapiron::さん
ありがとうございますm(__)m
今後も色々と皆様の参考になる記事を書いていけたら…と思います^_^
こんにちは。サラリーマン投資家です。今日は、NEMもくもく会@東京に参加させて頂きました。NEMに関することをやりたい人が集まって「もくもく(と作業? というか各自マイペースに和気あいあいと自分なりにやりたいことを?)」する会で、今回、初めて参加させて頂きました。素敵なお菓子を頂けたり(!)といった楽しいイベントなので、もし興味ある方はぜひご検討を(^^♪
NEMもくもく会@東京にて、本日のお菓子が振る舞われました^_^
— サラリーマン投資家 (@salaryman_tousi) 2019年1月19日
美味しそう! #NEMもくもく会 #テクレジ pic.twitter.com/SHQ650289c
もくもく会のスタイルは、最初に今日やることを、各自、簡単に発表し、途中にお菓子タイムを挟み、最後に各自の成果を簡単に発表して終了という流れのようです。
私の今日のもくもく会の目標は、以下3項目としました。(ちょっと欲張りすぎたかも…。特に3つ目は終わるかな…。)
順に今日の成果をまとめてみます。
NEMは、APIを活用して、残高照会や公開鍵の取得等、とても簡単に色々な仕組みを作れることが魅力的と常々感じていたのですが、実際に利用してみたのは今回が初めてです。具体的には、以下のhtmlファイルを作成しました。私自身は、javascript初心者なのですが、色々ググりながら、1~2時間くらいで、以下のように自分のNEMアドレスを指定して、残高や公開鍵等の情報を表示するhtmlファイルを作成することができました。次は、ノードを固定的に指定するのではなく、優良ノード一覧から動的にノードを設定できるようにしたいと思います。
今回作成したhtmlファイル
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
</head>
<body>
<script>
//NEMのAPIリクエストに必要な情報の定義
const node_address = "http://163.44.170.40";
const port_no = ":7890";
const api_path = "/account/get";
const address_set = "?address=";
const address = "NAX3EP4EKUMLH4T3N7GJSTQDG2AMUK5T26P5EA2M";
const url_endpoint = node_address + port_no + api_path + address_set + address;
//NEMのAPIのエンドポイントにアクセスしてJSONを受け取る関数の定義
const req = new XMLHttpRequest();
req.onreadystatechange = function() {
//404エラーの場合の例外処理
if (req.status == 404) {
console.log("404エラー。指定したページは存在しません。");
return false;
}
//その他エラーの場合の例外処理
if (!(req.readyState == 4 && req.status == 200)){
console.log("リクエストで不明なエラーが発生しました。")
return false;
}
//エラーなくレスポンスが返ってきたらjsonオブジェクトに
const json = (function(raw) {
try {
return JSON.parse(raw);
} catch (err) {
console.log("レスポンスで不明なエラーが発生しました。")
return false;
}
})(req.responseText);
//jsonが不正な場合の例外処理
if (!json) {
return false;
}
//htmlにjsonをそのまま文字列として表示
document.write("オリジナルのJSONレスポンス" + "<br>");
document.write(JSON.stringify(json) + "<br>");
//htmlにアドレス、公開鍵、残高を表示
document.write("NEMアドレス" + "<br>");
document.write(json.account.address + "<br>");
document.write("残高(μNEM)" + "<br>");
document.write(json.account.balance + "<br>");
document.write("公開鍵" + "<br>");
document.write(json.account.publicKey + "<br>");
}
//リクエスト作成
req.open("GET", url_endpoint, true);
//リクエスト送信(&実行)
req.send();
</script>
</body>
</html>
実行結果
オリジナルのJSONレスポンス
{"meta":{"cosignatories":[],"cosignatoryOf":[],"status":"LOCKED","remoteStatus":"INACTIVE"},"account":{"address":"NAX3EP4EKUMLH4T3N7GJSTQDG2AMUK5T26P5EA2M","harvestedBlocks":0,"balance":547772300,"importance":0,"vestedBalance":312079384,"publicKey":"051beb2871a4dad21bb8b241a49837442a46a5628fc0c3951ae322121508a4a1","label":null,"multisigInfo":{}}}
NEMアドレス
NAX3EP4EKUMLH4T3N7GJSTQDG2AMUK5T26P5EA2M
残高(μNEM)
547772300
公開鍵
051beb2871a4dad21bb8b241a49837442a46a5628fc0c3951ae322121508a4a1
はい。この記事です(笑)nemlogはコミュニティの暖かさがとてもいいですね。
これから作る感じですが、もくもく会が終わるまで形になるかな…という感じ。もくもく頑張ります!
以上のような雰囲気で、もくもく会、楽しませて頂きました。地方住まいなので、常に参加は難しいけど、イベントや業務の出張等が重なった時などは、また参加させて頂けたらと思います。もくもく会参加の皆様、ありがとうございましたm(__)m まだ、参加していない皆様は、もし興味あれば、ぜひご検討を(^^♪
>>patapiron::さん
ありがとうございますm(__)m
今後も色々と皆様の参考になる記事を書いていけたら…と思います^_^
>>えっさん&小梅ちゃん@自称nemlogコメンテーター::さん ぜひチャレンジしてみてください!自分もスキルアップ頑張ります!
>>やそ::さん 実際にやってみると楽しかったです^_^結構簡単&WEB上にいろんな情報があるので、ぜひトライしてみてください^_^
>>うぇんじにあ::さん 楽しいひとときでした^_^地方在住故、そんなに頻繁に顔出せないかもですが、機会あればよろしくお願いしますm(__)mビジネスアイディアも頑張ります!
>>salaryman-toushi::さん
昔記事にしたのですが余り反応がありませんでした\(//∇//)\www
今のnemlogなら!
1回記事にしてみます🎉
>>えっさん&小梅ちゃん@自称nemlogコメンテーター::さん スキルアップ頑張って、もし、できたら公開してみます^_^ ただ、意外と、コミュニティの力で誰かがサクッと開発してくれるかもですね^_^
javascriptあんまり分かってない(ホームページでトップ画像を変えるくらいで過去に使ったくらい)ですけと、こういう先例があるとこれを元に色々調べたりできて楽しそうです!
コピペして使ってみよう!
NEMber who posted this article