モナパレットでdispenser不可、DEX不可のモナカードをつくる方法
現在、モナパレットのトークン(モナカード)発行機能には、dispenser可否フラグ(vendableフラグ)をコントロールする機能がありません。(DEX可否フラグ(listedフラグ)はコントロール可。)
普通にトークン発行すると、「dispenser可」のトークンができあがります。しかし、ちょっと工夫すると、モナパレット(Mpurseエクステ含む)でも「dispenser不可」のトークンをつくることができます。
なぜ、売れないモナカードをつくるか?
一言で言うと、二次流通を限りなく「もなこっと」に限定して、二次流通可否、ロイヤリティをコントロールするためです。
もなこっとで出品するには、オーナー(発行者)の許可が必要です。また、出品許可する際にオーナーがロイヤリティパーセンテージを設定できます。
転売されるのは嫌だ、あるいは、転売してもいいけど分け前ちょうだいね、という人は、dispenser不可、DEX不可のモナカードをつくる意味はあるでしょう。
別記事で書きますが、近日中にもなこっとに包括的出品許可機能も実装するので、もなこっとでの二次流通がやりやすくなります。
つくりかた
そこそこめんどくさいので覚悟してください。
普通にCounterwallet-monaを使ったほうがいいんじゃないかと思います。(数ヶ月待てば、もなこっとにも発行機能つくんじゃないかと思います。)
ただ、一度やってみると、モナカードに対する理解が深まっていいんじゃないかと思います。
① 画像をIPFS(とimgur)に登録して、モナカードのメタデータをつくる
なちゃっとさんが、モナカード公式サイトに「Monacard2.0作成支援機能」を用意してくれていますので、これを使いましょう。
Monacard2.0はデータの分散保存を目指しているため、画像データの保存先はIPFSです。しかし、モナパレットやもなこっとのようなモナカードを扱うサービス開発の利便性のために、従来どおりimgurにも画像コピーが保存されます。というか、モナカード公式の機能がそこまでの面倒をみてくれます。
画像をアップロードすると自動入力される「画像のIPFSハッシュ(CID)」、この文字列はIPFS上のデータの識別子であり、トークンの属性情報としてブロックチェーンに刻まれることにより、トークンと画像が紐付きます。
その他の項目の説明は省きます。
各項目を入力すると、「完成したJSON」の欄にモナカードのメタデータが表示されます。これを、メモ帳などのテキストエディタにコピペしてください。
{"monacard":{"name":"窓","owner":"じゅんじゅん","desc":"陽の当たる場所","tag":"じゅんじゅん","cid":"bafybmift4h6kk3oidm5k7czrgisnvuotzganhyjeyncfjdcpbg7ouqaz4q","ver":"2"}}
そして、すべてのダブルクウォート(")の前に バックスラッシュ(\) または 円マーク(¥) を挿入し、最後に全体をダブルクウォート(")で囲ってください。
"{\"monacard\":{\"name\":\"窓\",\"owner\":\"じゅんじゅん\",\"desc\":\"陽の当たる場所\",\"tag\":\"じゅんじゅん\",\"cid\":\"bafybmift4h6kk3oidm5k7czrgisnvuotzganhyjeyncfjdcpbg7ouqaz4q\",\"ver\":\"2\"}}"
② モナパトークン発行トランザクション(未署名)をつくる
すなぎもさんが、モナパレットに「Monaparty API リクエストツール」という機能を付けてくれていますので、これを使いましょう。
この機能は、Monapartyサーバにお手軽にAPIリクエストを投げられる便利ツールです。
Monapartyサーバに"create_issuance"というAPIリクエストを投げることによって、トークン発行トランザクション(未署名)がレスポンスとして返ってきます。
<手順>
- Monapartyサーバを、表示されている3つのうちから1つ選んでください。
- "Proxy to counterpartyd" のスイッチをオンにしてください。
- "Command"欄に、create_issuance と入力してください。
- "Parameters JSON"欄に、以下を入力してください。
{
"source": "発行アドレス",
"asset": "トークン名",
"quantity": 発行枚数,
"divisible": false,
"listed": false,
"vendable": false,
"description": ①でつくったモナカードのメタデータ
}
↑↑このデータは保存しておくと、あとで変更するときに役に立ちます。
- "POST"ボタンを押すと、リクエストが投げられ、"Response"欄に以下のようなレスポンスが表示されます。
{"result": "010000000abeee3b29726f8d28962fe1e4a294f2caebe662cc36409247196aac1bebdf7238020000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffff2fb201eadb4fe7535c50457727634c82aa226cddf0521e13360dc937f9934f2e000000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffffddc3bdfaa2bd8cc56716701d82da70b1c980a35468efaf5a2fac113d8c9a581a020000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffffd5583e37295b85cdbfc2de99faf5cc08bf3e675673918ec0a51aa447ec5947d1020000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffffb95e6793551fade52559b88c22729ad243a311bf04d08da5460302eb7b44f095020000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffff51e9d92ff137070b29a8ec704292b7757c0d60c2c14212bcdd992d1e84371d15030000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffff49b0a5a50c61b0d3940e1cb2f8729af08249c851d2a01bcbee48c5a1c524c294000000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffffe29c43810afdf6c5f19050b469cc73a75f40b3e369e09db1dd95fe78b5bdecb9020000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffffa59fadc2e92515041b563cc45bbcef23f373d543f56cd9d08bac890250708242030000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffffcf04e69f8868cd39ee4cc3b1977ecc9e55f75ecc16636b7892b353cc7b4852c9000000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988acffffffff06b03001000000000069512102241e951b3685223d93312d349c3d16acd66e49cb51cd026db927bffaff78301f21038e383e15cfff789c2e7ee36873062da3be0268cd6c25d0684a354e2a048382f3210310aa350a972b9992c88c75b79b7faf1b63c37941f16bd574667c4ffdff34ff3e53aeb03001000000000069512102241e951b3685223d930742453fa183aabadaaa4ac92e80e85a9726197ee0d3d721020cbddd975ca676d32575f168304e6b681dc4a922a3ad08d993963663152a4b51210310aa350a972b9992c88c75b79b7faf1b63c37941f16bd574667c4ffdff34ff3e53aeb03001000000000069512103241e951b3685223d938599d4d844d3a4a28c28ac73f7208e388d56787a9bb29f21021ddbbf8d2c06df12c383a027301720e5a64368c16c2ecc281d7ecff4a3c9985d210310aa350a972b9992c88c75b79b7faf1b63c37941f16bd574667c4ffdff34ff3e53aeb03001000000000069512103241e951b3685223d934e46013ead95e5b5937ea82bbf6504ca7bc38f900c4a802103e959507db6ee3f882f73e461761739e3e34e25d67c29cf7e013585a2e1c4dc65210310aa350a972b9992c88c75b79b7faf1b63c37941f16bd574667c4ffdff34ff3e53aeb03001000000000069512103161e951b3685223d9307171063e68cf580f849cb51cd026db915b5faff78305121038e383e15cf845af14110820b1274498184794aa30d48b54a7017a98097a1ae8a210310aa350a972b9992c88c75b79b7faf1b63c37941f16bd574667c4ffdff34ff3e53aed907eefc2c0000001976a9149c474997e2003c931ff4e4f9bd765594bce7ccb988ac00000000", "jsonrpc": "2.0", "id": 0}"
result"の中身がトークン発行トランザクション(未署名)です。
③ 未署名トランザクションに署名し、ブロードキャストする
②のトークン発行トランザクションがトークン発行アドレスの持ち主によって作成されたものであることの証明として、トークン発行アドレスに紐づく秘密鍵による署名を付け、モナコインネットワークにブロードキャスト(送信)します。
すなぎもさんが、モナパレットに署名&ブロードキャスト機能を付けてくれていますので、これを使いましょう。
モナパレットのWallet画面に移り、「…」メニューから「キーペア」を開いてください。(モナパレット(Mpurseエクステの場合Mpurse)のアドレスは、トークン発行アドレスに合わせてください。)
「TXに署名 & 送信する」欄に②の"result"の中身をコピペしてください(ダブルクウォートは不要)。
「署名&送信する」ボタンを押すと、モナパレット(Mpurseエクステの場合Mpurse)の秘密鍵での署名が行われたデータが、モナコインネットワークにブロードキャストされます。
しばらく待って、トランザクションがブロックに取り込まれると、完成です。(モナパレットへの反映は少し時間がかかります。)
追加発行、新規発行ロック、モナカード情報変更のやり方
また後で書きます。
わからないことがあれば、discordやtwitterで質問してください。https://discord.gg/qcKqQCGgwE
https://twitter.com/jung2neko