モナパちゃん大型アップデートの内容

暖かくなってきてしまったのでそろそろやっていかないといけない。 実装は段階的にやっていきます。いろいろ古くなってしまったのをまとめて一新する計画なので手間がかかります。

一括sendの導入

Monapartyでトークンの一括sendができるようになったので、モナパちゃんもこれまで1種類ずつ何回も送っていたのを1回で送れるようになります。これにはメリットがたくさんあります。

  • オンチェーンでもN連ガチャができます。
  • トークン配布や大量のwithdrawなどでsendが立て込んだとき、モナパちゃんはこれを小分けにして時間をかけて処理しています。一括sendでこの待ち時間がなくなります。
  • トークン配布や大量のwithdrawなどでsendが立て込んだとき、実はモナパちゃんはよくエラーを吐いています。大抵は再送しているはずですがあまり自信はないので、人知れずGOXしていたトークンもあると思う。たぶん一括sendでこれが安定します。
  • その他にも送信負荷を抑えるために意図的に不便にしていた部分が不便じゃなくなっていくかもしれない。

DB設計の改良

最初にモナパちゃんを作った後でAWSの料金体系が改善されたので、他のアプリと共有していたテーブルをモナパちゃん専用に設計し直します。

  • オンチェーンの残高がオフチェーン(DB)の残高に対して不足していないか、定期的にチェックできるようになります。上に書いた通りsendが立て込んだ時の処理に不安があったりするので、これで安心感が増します。
  • Monapartyサーバに都度問い合わせていたトークン情報の一部をDBに突っ込むことで、処理が高速化安定化します。

ポータル改善

  • ツイート不要でこっそりトークンをwithdrawできます。さらに上記一括sendとの合せ技により、よりたくさんのトークンを一発でwithdrawできます。withdrawの枚数が個別に指定できるようになります。
  • チャフォームがもっと便利になります。
  • フォームで配布ツイートを生成できるようになります。
  • 配布されてるトークンでまだもらってないやつとか、まだ持ってないやつとかがわかるようになります。

既知の問題の解消

  • mona1アドレス(Native Segwitアドレス)に対応します。
  • ガチャからちゃんと全部のカードが出てきます。

anipopina.hateblo.jp

その他の仕様変更

@usernameがcase sensitiveじゃなくなる

たぶん預入時やtip時の@usernameの大文字小文字が違っていても大丈夫になります。

再移転不可トークンの取扱不可

以下の理由で再移転不可トークンの取り扱いを完全にやめます。

  • 最初は再移転不可トークンがモナパちゃん上で矛盾なくやりとりできたらおもしろいかと思っていたけど、全然そんなことはなくて無駄に混乱するユーザが出ただけだった。
  • 最初から気がついてはいたけど、オフチェーンとはいえ再移転不可トークンが自由にtipできるのは「再移転不可」の意図には沿っていない。
  • Monapartyやモナパちゃんに機能が増えるたびに(上記の通り全く有効活用されていないにも関わらず)再移転不可トークンのためだけの特別な実装が出てきてめちゃくちゃ面倒くさい。

現バージョンでは再移転不可トークンは発行元のアドレスに対してのみwithdrawできるようになっているので、回収が必要な場合はアップデート前に回収しておいてください。

アップデート後、今ある再移転不可トークンは残高から消えます。そしてアップデート後にモナパちゃんのアドレスに対して送られた再移転不可トークンは漏れなく「モナパちゃん再移転不可GOX」することになります。

サブアセットのID指定の廃止

サブアセット(例: SPACEMONA.CAT)はID(例: A11616776313666346663)で指定することもできるようにしていましたが、以下の理由でこれは廃止します。

  • もともとはTOKENNAME.COMみたいなトークンがURL扱いされてしまって投げられないのでこの実装にしていたけど、いまは「TOKENNAME&COM」のように.の代わりに&を使えるようにしているのでID指定できなくちゃ困るということがない。
  • ID指定を切ることで処理とDB設計がシンプルになるので、性能と安定性と拡張性が増す。

depositコマンドとbalanceコマンドの廃止

他のチップボットとの互換性に配慮して実装していましたが、モナパちゃんに関してはほとんど意味がないので廃止します。もはや他のチップボットがTiproidしかいないし。

ガチャ仕様の調整

ノーマルガチャの値段を0.02MONAにして、代わりにノーマルでもN連ができるようにします。プレミアムガチャは0.1MONA据え置き。N連ガチャはこれまで10連までだったのを、とりあえず20連まで可能にしてみようと思います。

また、サービスの充実によってモナカード以外でもトークンにいろいろと属性が付けられるようになってきたので、整数枚で扱うトークンであればモナカード以外も出てくるようにします。

追加:200XMPで1回プレミアムガチャが回せるようにします。単価が異なるだけで仕様はGACHAトークンと同じ。

さらに追加:1日1回引けるデイリー無料ガチャを実装します。

燃料の補給先

ほしいMONAリスト運営のほしいMONAリスト 2枚目 https://monalist.komikikaku.com/list/C7rFTwN9LzSgFrRB3XJioK4xw3NVdB6wTM