2017年6月14日水曜日

RFIDとブロックチェーン その3

前回はタグIDをビットコインネットワークに保存するというのを恐る恐るやったわけですが、今回はきちんと?運用されている Open Assets というのを使ってみたいと思います。(※文中にコードがありますがスマホでは表示されません すいません)

Open Assetsはビットコインネットワークを利用して、ビットコイン以外の資産(独自のコインとか)を管理できるようにしたものです。あくまでもビットコインの仕様の上で動いていますのであまり大袈裟なことはできないわけですが、前回出てきた OP_RETURN を活用した仕組みになっています。

Open Assetsでは、Asset ID と数量(整数)を管理することができます。Asset IDはビットコインアドレスに1対1で対応しているアドレスで、例えば私のビットコインアドレスでアセットを発行すると私のビットコインアドレスに対応した Asset ID の資産が数量分発行(これは自由に決められます)することができます。で、発行した資産はビットコインの送金と同じように他の人に送ることができるわけです。

とりあえずやってみます。
調べてみると C# 用のBitcoinライブラリもあって Open Assetsに対応していました。しかもNuGetでゲットできるというお手軽さ。(詳しくはこちらでお勉強できます。Programming The Blockchain in C#)コア的なライブラリの NBitcoin とトランザクションを簡単に扱える QBitNinja.Client の2つをインストールします。

アセットの発行には 600 Satoshi必要のようです。前回のアドレスに0.0015BTC残っているのでこれを使います。https://blockchain.info

で、トランザクションを作成してブロードキャストします。コインは100枚発行しましょう。

こんな簡単なコードでできちゃうのがすげー。作成されたトランザクションのデータを見ると、あれ?

600 Satoshi のはずだが 2730 Satoshiかかってるぞ?仕様変わったの?いつ?
まぁいいやということでトランザクションを見てみましょう。https://blockchain.info/

ここでも奇妙な取引と出ました。これはOpen Assetsに対応していないからということのようです。Open Assetsに対応したサイトで見てみます。と思ったらまだデータが届いてないようなので後で確認します。

0 件のコメント:

コメントを投稿