先日の金融庁の仮想通貨取引所への処分発表後、一段と仮想通貨の価格は下落しました。
カリスマはノックダウンされ、仮想通貨市場は焼け野原の様相を呈しています。
黙って働いてくれているVPSで暗号通貨市場のチェックを行うと、まぁ4月の安値は割っていません。4月の安値を耐えた人たちが、3ヵ月後にそれと同水準で投げるってのは、投資家が相当疲弊しているんだろうなという感じを受けます。ちなみに私は株の下落の方が疲弊の要因となっています。
「まだ仮想通貨やってるの?」って イケハヤさんは煽るのかと思っていブログをのぞいてみたけど、冷静に「こんな下げで焦るようなら仮想通貨なんてやるなよ」って書いてました。
入ったタイミングが悪かった人にとっては、こんな糞市場はないと思いますが、まだまだこれからですよって感じに個人的にも思っているのと、ちょっと所用で色々調べている延長で、Blockchain.infoのAPIを使って何ができたか記しておきます。
もくじ
- Blockcchain.infoがBlockchain.comと統合されるようです。
- Pythonのライブラリがあった
- 直近のやつを調べる
- transactioinsを見てみる
- transactionsのinputs、outputsを見てみる
Blockcchain.infoがBlockchain.comと統合されるようです。
まず最初に、ビットコインのブロックを見る時にこれまでBlockchain.infoを見ていたのですが、これからはBlockchain.comにまとまるようです。APIに関してはどちらも共通のもののようで、多分使い勝手が変わるということはないでしょう。
Pythonのライブラリがあった
APIをrequestsで叩くのが一番楽なのですが、サイトにpipでインストールできるのでライブラリを使ってみました。Python以外にもJava、C#、Ruby、PHP、NodeJSなどのライブラリというのかなんと呼ぶのか分かりませんが、あるみたいです。
Blockchain API: Bitcoin API - Blockchain
使い方を見るためにgithubを見てみると、なんだか7つに分かれていて、それぞれブロックチェーン、ウォレットを作る、交換所での価格、pushtx、受取、統計、ウォレットというモジュールがありました。ドキュメントは以下に。
関心があったのはブロックチェーンだったので、まずはそれを見てみます。
from blockchain import blockexplorer as bbe block = bbe.get_block('000000000000000016f9a2c3e0f4c1245ff24856a79c34806969f5084f410680') vars(block)
たくさん文字を打つのが面倒なのでbbeという名前でライブラリを呼び出して、そのままget_blockにブロックのidのハッシュを入れたらそのブロックの内容を引っ張ってきてくれます。
インスタンスというやつで帰ってくるようで、そのまま開けませんが、vars()で呼び出すと中身が見られるようになりました。
「おお、マスタリングビットコインで読んだ感じで帰ってきてる!!!」
という感じでちょっと興奮できました。ちなみにこのハッシュはbitcoin.infoのAPIの使い方にあったやつなのですが、'time'を普通の時間に直すと2014年9月10日14時25分1秒のものだということがわかります。
直近のやつを調べる
さて直近のブロックを調べることもできるようです。blockexplorerのget_latest_blockでとってきてくれます。
latest = bbe.get_latest_block() vars(latest)
get_blockより中身が薄いので、get_block()で読み込んでみます。
latest_block = bbe.get_block(latest.hash) vars(latest_block)
「むむむ、バージョンが2から536870912へと幾何級数的にアップしている!!!」
上がりすぎやろと思いますが、どうなっているのでしょうか?segwitで別のところになんかの値を突っ込んでいるみたいな話がありましたが、それもこれでしょうか?あれはトランザクションのお話だったような。
transactioinsを見てみる
さて見てみたかったのはtransactionsなのでそちらに目を向けましょう。まずは2014年のものから。
for i in block.transactions: print(vars(i))
timeは結構バラバラな感じが見て取れたので、ちょっと我々がわかりやすい時間に直して、どれくらいの違いがあるのか見てみました。
それほど散らばっているわけでもないみたいです。次に新しいブロックを見てみましょう。
40分ほどの幅はありますが、まぁそれほど送金に遅れはないように見えます。あと、"relayed by"という項目が「0.0.0.0」になっているのは検証が終わっていないということでしょうか?
transactionsのinputs、outputsを見てみる
トランザクションの本当の中身を見てみましょう。
これはビットコインが生まれるコインベースってやつで一番最初に書き込まれています。このころは25BTC報酬がありましたからねぇ(遠い目)
2つ目のトランザクションに目を向けてみましょう。
おつりを返すトランザクションが見られました。このトランザクションは一つのインプットに対して二つのアウトプットが返されています。一方のアウトプットは知らないアドレスに。もう一方のアウトプットはインプットと同じアドレスにいっています。
さて、直近のやつを見てみましょう。
コインベースなのに(ビットコインの生成トランザクション)アドレスがありません。まぁそんなこともありますね。
普通のアドレスからSegwit対応のアドレスに送られていますね。
などなどいろいろ見られてAPIを使ってみると面白いです。つづく

- 作者: アンドレアス・M・アントノプロス,今井崇也,鳩貝淳一郎
- 出版社/メーカー: エヌティティ出版
- 発売日: 2016/07/14
- メディア: 大型本
- この商品を含むブログ (7件) を見る