BitCoinブロックチェーンに大きい?データをぶっっこんでみるテスツ
さて今回は画像をdatapayでぶっ込めるのかテスツです。
16進数にするなら画像だろうが、音声だろうが、動画だろうが入るはずなんですが、気になるのはお値段ですよね \(^0^)/
さてその前にですよ。僕らはbitdbを手に入れました。というかそのさらにビジュアライズなエクスプローラー。そしてbitstagramですよ。
そう、先に念のためにどうやって使用しているか確認するんですね!
bitstagramはURLがtxになっていました。
サンプルにこのお空のやつ引用させていただきます。
https://bitstagram.bitdb.network/m/raw/9aa7d98372890e2f929d9de9958fe7c6902a61d4a31df9e9ff12b454bb97cdc7
URLからTXは
9aa7d98372890e2f929d9de9958fe7c6902a61d4a31df9e9ff12b454bb97cdc7
と分かります。
lb,lh2ってなんだろ。どうもそこに画像が入ってるっぽい
strをみると、編綴はないので、long base64, long hexかな(^^;
よし!!では"小さい"画像でやってみよう(笑)
test005.jsを作って、画像も同じ階層に入れます。
では150x150で。画像のサイズは13.6kb(13,931b)これ16進数にしてとりあえず長さ測ろう(笑)
89504e4...4ae426082
27863文字 27863bytes うーん1satoshiのfeeで投げて...3円くらい?何とも言えない。150pxだしな。画質にもよるか。今回はpngです。
参考
0.00000001
0.00027863
よしやってみよう。高くはない。
データペイ読み直したら(https://github.com/unwriter/datapay)
build:トランザクションを構築するため(ただし送信しない)
send:トランザクションの送信用
ってあった。テスト(build)して問題なければsendするんだね。
そしてついでに文字列やjsonも同時に送ってみるテスツ。ここまで出来ると色々データ設計できます。悪く言えばカオス。
var fs=require("fs"); var datapay = require('datapay'); fs.readFile("テスト画像.png",function(err,data){ //Buffer(data).toString("hex") const tx = { safe: true, data: [ "0x6d02" ,Buffer.from(data) ,"テキストいれたり" ,"jsonの配列入れたり" ], pay: { key: "秘密鍵", feeb: 1 }, }; datapay.send(tx, function(err, res) {//send build console.log(res); }) });
とりあえず実行!どりゃ!!!
"unconfirmed": -14211
あれ?予想より少ないぞ??画像でも抜けたんかな。
おぉお。。。おっぉおぉぉぉおおぉ!!!登録できてる臭いwwww
すぐにエクスプローラーでtxで検索して出てきました。いやふぅ
0.00014211なので1.5円以下でした。テキストとjsonも追加したけど。
これはちょっとやってみないと分からんもんですな!!ぎゃははワロチ
エクスプローラーで
{ "v": 3, "q": { "find": { "tx.h": "トランザクション" } }, "r": { "[.[] | .out[0] | { base64_png_img: .lb3} ]" } }
ついでにリターンファンクションにjqとかつかって整形した。
OP_RETURN前の0ってなんだろう。datapayの時入ってる気がするぞ。あとで調べよう。
lb3が最初になるのがちょっと癖ある気がする。先頭のゼロがなくてもlb2だし。
しかしコードの記法覚えた。見やすいワロチ
画像はここで確認しました。
https://tomari.org/main/java/base64d.html