BitCoinブロックチェーンに大きい?データをぶっっこんでみるテスツ

さて今回は画像をdatapayでぶっ込めるのかテスツです。
16進数にするなら画像だろうが、音声だろうが、動画だろうが入るはずなんですが、気になるのはお値段ですよね \(^0^)/

さてその前にですよ。僕らはbitdbを手に入れました。というかそのさらにビジュアライズなエクスプローラー。そしてbitstagramですよ。
そう、先に念のためにどうやって使用しているか確認するんですね!

bitstagramはURLがtxになっていました。
サンプルにこのお空のやつ引用させていただきます。
https://bitstagram.bitdb.network/m/raw/9aa7d98372890e2f929d9de9958fe7c6902a61d4a31df9e9ff12b454bb97cdc7

URLからTXは
9aa7d98372890e2f929d9de9958fe7c6902a61d4a31df9e9ff12b454bb97cdc7
と分かります。

ではレコードを拝見します。
https://genesis.bitdb.network/query/1FnauZ9aUH2Bex6JzdcV4eNX7oLSSEbxtN/ewogICJ2IjogMywKICAicSI6IHsKICAgICJmaW5kIjogewogICAgICAidHguaCI6ICI5YWE3ZDk4MzcyODkwZTJmOTI5ZDlkZTk5NThmZTdjNjkwMmE2MWQ0YTMxZGY5ZTlmZjEyYjQ1NGJiOTdjZGM3IgogICAgfQogIH0KfQ==

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