JSON
QRcode
Blockchain
NEM

XEMReceiverで作成する請求書QRコードの中身をのぞいてみる

はじめに

実店舗のXEM決済でXEMReceiverを利用されている方が多いと思います。

XEMReceiver
http://xembook.net/xemreceiver2.html


操作は簡単で、以下の手順で簡単に請求書QRコードを作成できます。

1.ウォレットのアドレス入力
2.「価格(JPY)」を入力
3.「現在価格で確定」ボタンをクリック

QRコードの中身がどうなっているか覗いてみようと思います。

XEMReceiverの使い方を知ってる方が前提のため、知らない方はまずは以下のリンクをご参照ください。
http://coiners-magazine.com/news/nem-payment-at-stores-by-xemreceiver/

請求書QRコードをQRコードリーダーで読み取る

まずはXEMReceiverでQRコードを作成しましょう。

次に、作成したQRコードをQRコードリーダーで読取ります。
スクリーンショット 2018-05-06 20.20.39.png

QRコードリーダーはなんでも良いんですが、「公式QRコードリーダー”Q”」を使いました。
Android版
iOS版

読み取ると、下図のようなテキストが表示されます。これが請求書QRコードの中身です。
NEMウォレットでこの情報を読み取って、トランザクションを作成しているんだと思います。
QRコード.png

請求書QRコードの中身解説

分かりやすいようにテキストデータを整形しますね。

json
{
    "v":2,
    "type":2,
    "data":
    {
        "addr":"NCPB4V625NAVKHGVOZRKTX6LAIEKVLK5C3QK6BHB",
        "amount":21372089,
        "msg":""
    }
}

ちょっと一部わからない所がありましたが、それぞれの項目について解説しますね。

項目 意味
v 2 すみません。何を意味しているか分かりませんでした。NEM NIS API Documentationを見た限り記述がありませんでした。
type 2 NEM NIS API Documentationを見る限り、1が平文のメッセージ。2が暗号化するという意味だと思います。
addr NCPB4V625NAVKHGVOZRKTX6LAIEKVLK5C3QK6BHB 請求元のウォレットのアドレスです。このアドレスに入金されます。
amount  21372089 XEMの数量です。単位はマイクロXEMのため、1,000,000で割って下さい。
msg トランザクションのメッセージです。

要約すると、

アドレス「NCPB4V625NAVKHGVOZRKTX6LAIEKVLK5C3QK6BHB」に21.372089xemを送金してね

というテキストデータが請求書QRコードに入っています。

さいごに

請求書QRコードの中身は、XEMの送金に必要な情報がテキストデータで入っていることが分かりました。
これを応用すれば、自分でプログラムを組んで請求書QRコードを作成することが可能になります。
これは時間があるときにでも、別記事でやり方をまとめようと思います。
(言語はPythonかSwiftあたりでやるかなぁ)