うずらウォレットの蛇口一覧ページを作りました。
カテゴリー: 仮想通貨
うずらウォレットを見やすくするブックマークレット
今日オープンしたFantasficを使ってみる
今日(2018/10/30)の14時に新しいクリエイター支援サービスが開始されました。
このサービスでは、仮想通貨EXCを使った投げ銭でクリエイターを応援することができます。色々機能があり追加もされるので興味のある人はここも見てみてください。
https://fantasfic.excaliburcoin.net/
うずらウォレットの作り方とWEB蛇口について
うずらウォレットはツイッター連携で作れる仮想通貨のマルチウォレットです。
導入が簡単でリツイートなどで仮想通貨を貰える蛇口という機能が使えます。
最近WEB蛇口という機能が付いたため、使ってみることにしました。
BetterDiscordのアップデート
ベターディスコードのおかげで快適にディスコードを使えています。
久々にディスコードの再起動したときにアップデート通知が出ました。
アップデートしないと使えないため、以下から新しいものをインストールする。
スクリプトの方はこのバージョン3で使い方が変わるというのを見かけたので作ってなかったが、アップデートされたのでちょっと作ってみたい。
【Node.js】Windowsでバッチ制御して効率よくマイニング
仮想通貨のマイニングのうちPoW(Proof of Works)はPCへの負担が大きく、報酬もよく変わります。
難易度が低い時だけ掘りたかったので、Node.js で Child process を使って自動で切り替えるようにしました。
確認用のログ出力
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/* 色付きログ */ function mylog(str,color='\u001b[32m'){ console.log(color+str+'\u001b[0m'); } /* TEST */ mylog("black", '\u001b[30m'); mylog("red", '\u001b[31m'); mylog("green", '\u001b[32m'); mylog("yelleo", '\u001b[33m'); mylog("blue", '\u001b[34m'); mylog("magenta",'\u001b[35m'); mylog("cyan", '\u001b[36m'); mylog("white", '\u001b[37m'); |
green, cyanあたりが見やすい。
PoW難易度の監視
APIなど(無ければWebページでもなんでも)でPoW難易度やハッシュレートを取ってきて、必要に応じて処理を追加します。以下はサンプル。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function getDiff(){ https.get("https://xxxxx/api/getdifficulty", function(res) { mylog(new Date(),'\u001b[36m'); var x=""; res.setEncoding('utf8'); res.on("data", function(chunk) {x+=chunk;}).on("end",function(){ let o = parseFloat(JSON.parse(x)["proof-of-work"]); mylog(o,'\u001b[35m'); /* 条件に応じてバッチファイルを起動する */ }); }); } getDiff(); setInterval(function(){ getDiff(); }, 20*1000);//20秒ごとに取得 |
複数の難易度をみて判断するなら Promise.all を使えば楽です。
バッチの起動と終了(Windows)
child processのkillなどが効かないのでそこはタスクキルを使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function cmdRun(batname) { cp = child_process.spawn('cmd.exe', ['/c', batname]); //必要な出力をとってくる cp.stdin.on('data', (data) => { console.log(data.toString()); }); cp.stdout.on('data', (data) => { console.log(data.toString()); }); cp.stderr.on('data', (data) => { console.log(data.toString()); }); cp.on('close', (code) => { mylog(`child close : code ${code}`); }); } function cmdKill() { let kp = child_process.exec('taskkill /pid ' + cp.pid + ' /T /F'); kp.stdout.on('data', (data) => { console.log(data.toString()); }); kp.on('close', (code) => { console.log(`kill close : code ${code}`); }); } |
/T
は子プロセスを含めた終了、/F
は強制終了のオプションです。
所感
普段使わないからやらなかったけど、単純なものならbatだけでかける気がする。
色々と処理や判定を付け足したりするときに慣れた node.js が使えるのは利点だけど、Windowsだと色々とドキュメント通りに動かないのがつらい。
【仮想通貨】複数取引所価格を一覧表示する機能
仮想通貨の価値を複数取引所にわたって一覧表示する機能を作りました。
CoinExchange, Stocks.Exchange, CREX24の一覧に対応。
TOPBTC(vips), BITKOP(exc), Bitmart(che)も追加表示します。
仮想通貨関連のAPIメモ
これまで使ったことのある仮想通貨のAPIメモ。
主にドキュメントを見るとき用。
CoinExchange (document)
例:https://www.coinexchange.io/api/v1/getmarkets
v2が来そうで来ない。痒い所に手が届かず使いにくい。
StocksExchange (document)
例:https://app.stocks.exchange/api2/markets
簡単で使いやすい。
CREX24 (document)
例:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker
機能充実。
BitFlyer (document)
例:https://api.bitflyer.com/v1/ticker
取れるデータは少ないけど安定している。
kraken (document)
例:https://api.kraken.com/0/public/Ticker?pair=XBTUSD
ドル建て、円建てで取れるのはいいけど円建てはスプレットが大きく安定しない。
TOPBTC (document)
例:http://topbtc.com/market/market.php
VIPS用。POSTで情報をとるのが少し使いにくい。
BitKop (document)
例:https://apiv2.bitkop.com/Market/ticker?symbol=eth_btc
EXC用。最近システムアップデートと同時にAPIもv2になった。
Bitmart (document)
例:https://openapi.bitmart.com/v2/ticker?symbol=CHE_ETH
CHE用。珍しくWebSocketが用意されている。
Ethガス代
https://ethgasstation.info/json/ethgasAPI.json
json形式で取得できる。CORSも気にしなくていいので便利。
えくすことコラボしたイーサエモンで遊んでみる
Etheremon(イーサエモン)はイーサリアムのブロックチェーンを利用した非中央集権型アプリケーション(Dapps)のゲームらしいです。
前々から興味はあったのですが面倒くさそうでやってませんでした。
エクスカリバーコイン(えくすこ)コラボしていたのをきっかけに遊んでみました。
スマホでも遊べるみたいですが、今回はブラウザ版で遊びます。
Coin Exchangeの注文情報を表示
Coin Exchangeの注文情報を見るツールを作りました。
これの右側は今の値に一番近い注文です。
APIでしか取得できないので見えるようにしました。