VIPSに関連したゲームを作りたい、という時に一番面倒なのは「VIPS課金」の仕組みだと思います。
一般的にそのようなことをしたい場合、ユーザーに紐づいたアドレスを生成する必要があります。
しかしそれではアドレスの管理が大変で、小さな規模のゲームでは負担になってしまいます。
今回は、「VIPS課金」実装の負担を減らせるようなスマートコントラクトを作ったので紹介していきます。
概要
管理者側
- スマートコントラクトを公開する
- 商品ID、値段、タイトルをブロックチェーンに登録する
-
公開したときに使ったアドレスにユーザーが課金したVIPSが送られる
- 一意のユーザーIDを作る
- serchlogsコマンドで課金を捕捉してサービスのサーバーに反映*1
ゲームクライアント側
- サーバーから課金情報を取得
ユーザー側
- 商品リストを確認する
- sendtocontractコマンドで課金する
問題点
このシステムの問題点は、スマホアプリで実装できないことです。
(apple&googleが許さない、スマコン対応しているウォレットが無い*2)
また、ユーザーにコマンドを打ってもらう訳にはいかないので専用のストアのソフトを作る必要があると思います。
また、この構成ではローカルで遊ぶようなゲームでは実装できません。
そのようなゲームで実装するには以下のように変える必要があります。
管理者側
- スマートコントラクトを公開する
- 商品ID、値段、タイトルをブロックチェーンに登録する
-
公開したときに使ったアドレスにユーザーが課金したVIPSが送られる
ゲームクライアント側
- ランダムなユーザーIDを生成
- insight explorerから課金情報を取得
- 前に保存していた情報と照らし合わせて課金アイテムの数を増やす
ユーザー側
- 商品リストを確認する
- sendtocontractコマンドで課金する
もしも興味がある場合はdiscordのtakana_#2684にDMをお願いします。
ブログランキング
投げ銭
VIPSアドレス:VGeWZ76u5V1byPtLHyNjDCXRSu48NxmH8c
ヌクモリンク:このブロガーに1000 VIPS を送る!
(ヌクモリンクの導入はここからどうぞ)
Discord
[VIPSTARCOIN]
[VIPSフリマ・オークション](当ブログの発祥地)