Bプロトコル(B://)を試しました。
BプロトコルはBitcoin Data Protocol言いまして、これをMetaNetの場合ラッピングしたりするので、以前MetaNetで試したと言えば試しました。今回はBのみでやったところ一応すんなり記録できました。
こんな型です。
19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut [Data] [Media Type] [Encoding] [Filename]
19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAutは固定値でプレフィックスとなります。
これがB://で稼働するという合図であって、あなたのアドレスを好きに入れていい訳ではありません。
今回これでFilenameが上手く稼働しません。私に非がないように思うので、これは聞いてみようかな。(聞く必要なくなた)
<html> <head> <style> input#file { display: block; padding: 10px; background: whitesmoke; width: 100%; margin: 10px 0; } a#tx { display: block; padding: 10px; margin: 10px 0; color: red; font-size: 12px; font-family: Menlo, monaco, Courier; } </style> <script src="//www.moneybutton.com/moneybutton.js"></script> <script src='//unpkg.com/datapay'></script> <script src='//unpkg.com/databutton@0.0.4/index.js'></script> <script> document.addEventListener("DOMContentLoaded", function(e) { databutton.build({ data: ["19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut", "<html><body><h1>ここに何かいれてみよう!</h1></body></html>", "text/html", "UTF-8", "test.html"], button: { $el: "#button", $pay: { feeb: 0.5, }, onPayment: function(msg) { console.log(msg) document.querySelector("a#tx").innerHTML = "View on B (" + msg.txid + ")" document.querySelector("a#tx").setAttribute("href", "https://b.bitdb.network#" + msg.txid) console.log("https://bico.media/" + msg.txid); }, onError: function(err) { console.log(err) } } }) }) </script> </head> <body> <p>B:// 19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut [Data] [Media Type] [Encoding] [Filename]</p> <a target='_blank' href='#' id='tx'></a> <div id='button'></div> </body> </html>
古い記事から辿っている人にはおなじみですが、moneybuttonで1500satくらい払えばこれで記録出来て、txが返ってきます。
test.htmlを指定しているので、このパスが通って欲しいんですが難しいですね。
そうそうBSVUPが失敗したと伝えましたが、txベースの参照だと出来てはいるんです。ただURLパスで参照できない。
他人のtxとかDと混同してますが、これでみれます。
https://d.onchain.ch/query/1G3BpTyEK6xF4LaQTHqdFBBaVxYHZzts4M
これみてもやっぱりパス通って参照できないんですよねぇ。何故でしょう。と、思いながらおもむろにアドレスで検索してみたらどうもsenderとkeyを組み合わせると行ける臭い。しかもDプロトコルしかヒットしない。Bだけだとだめなのかな?わからん。
まぁこれがうまく行けばユーザに自身のアドレスをいくつか登録してもらえば、その傘下のパスでデータを引っ張ってくることが出来るようになる。ユーザ毎にサブドメインとかではてなブログ的な展開すれば良さそう。Dは本来更新用、バージョン管理用なのでそっちもテストする。※Dでこれらが解決しました。