MonaToolsを始めたきっかけ
MonaToolsが誕生した2021年当時、モナカードの作成や売買は盛り上がりMonaCharaTの誕生でモナチェーンにも波が!って期待に胸躍らせた時代でした。 しかし当時は・・・
過去のモナカード売買履歴を遡って見て統計データを見ることはとても難しかった!
もちろんデータは全てブロックチェーンに記録されています。
だからmpchainやAPIで全データを表示することはできる。
が、そこから欲しい情報だけ取り出して統計を取るのは難しすぎる状況でした。
実際自分も最近よくモナカードが売れてる気がする、、、からAPI叩いて統計取るのも一苦労していました。
そんな集計プログラムを作る中で
いちいちプログラムを書かなくても簡単に過去データを検索して集計もできたら便利なんじゃない?
ってのがMonaTools誕生のきっかけでした。
そして上記の一週間後にはMonaToolsプロトタイプが開発環境で動きだしていたようです。
当時の時代背景
昨日、ついにビットコインが10万ドルを超えて界隈は大盛り上がりしていますが、モナツーを作り始めた2021年9月のBTC価格は500万円ほど。 2021年4月に660万円の高値を付けてから反落して再び戻し始めた頃で当時も盛り上がっていました。
当時はNFTが一大ブームになってたこともありモナカードにも追い風が来てすごい勢いで新しいモナカードが発行され、売買もされていました。
そんな大ブームの中データを見やすくわかりやすくしよう、とMonaTools(モナツー)が始まりました。
製作初期に考えてたこといろいろ
当時の開発メモを見ていたらこんなことを書いてました。
機能面
- Dispenserの履歴を検索する
- モナカードごとに過去の履歴の一覧・平均価格・件数をつける
- 販売中のDispenserの一覧を作る
- 販売ページからそのモナカードの過去の売買情報が見られる
XMPの売買を見ていると割高なDispenserから購入されるケースも多く見られ、またおそらく誤発注で著しく安い価格で販売してしまったDispenserも時々見受けられました。
当時は適正価格を知ることが難しかったし、販売中の物の中から最安の物を探すのも大変でした。 特にXMPは1MONA単位で売ってる人もいれば0.1MONA単位や100MONA単位と販売個数がバラバラのためぱっと見でどれが最安かわかりませんでした。
性能面
- モナカード大量保有者が快適に使えるようにキャッシュ多用する
- 他のツールと差別化する
当時の自分のモナカードへの不満点として 数百種以上の大量保有しているウォレットで開くと待ち時間が非常に長い(数十秒~数分)というツールがいくつかありました。
これは大元のMonaPartyのAPIが時間かかっていたり仕様上の制限で仕方ないのですが 大量保有者の自分としては非常に不満でした。
ただブロックチェーンという仕組みで考えると仕方ないことだ、というのもわかっていたので諦めていました。
が、せっかく自分で作るならこの問題を解決したいな! っと。
解決するにはデータベースにすべてキャッシュを突っ込んでRDBMS様の高速検索能力で解決しよう!という力業で実装しました。
ブロックチェーンのデータのキャッシュ化
たぶん技術者以外にはこの苦労がわかってもらえないと思うけど
モナツーで一番頑張り、そして苦労したのはブロックチェーンデータのキャッシュ化です。
ブロックチェーンデータを直接拾ってくるMonaPartyのAPIは正直なところ大量データを検索する用途では遅いです。MonaPartyのデータが増え続けていることもありAPIで検索しても帰ってくるのに数秒かかることはざらで欲しい情報をそろえるには複数回のAPIを叩く必要があればAPI待ちだけで10秒以上かかることも・・・
そこで事前に全データをMonaToolsのデータベースにダウンロードして整理してインデックスを張り 高速に検索・集計できるようにしています。
幸いにして全データをデータベースに突っ込んで適切にインデックスを張ってやったところMySQL様の性能のおかげで快適に高速検索できるようになりました。
ただし、キャッシュによるデータ反映の遅延というデメリットもありますが、それ以上の快適さを提供できたことに満足しています。
ちなみにMonaParty APIの使命は新しいアセットを発行して売買をつつがなく終わらせることであって 過去のデータを大量検索したり統計取ったりは本来の用途外のことで・・・ ここが遅いのは仕方ないことだと思います。
フォーク元のCounterPartyも当然遅いし ビットコインやイーサリアムのチェーンも 複数のトランザクションに横断した検索は遅いと思います。 が、本来の目的に特化した結果の副作用なのでこれは仕方ないと思います。
作ってみてうれしかったこと
作ってみてうれしかったのは自分が制作・販売したグラドルモナカードなどの取引履歴をモナツーでリアルタイムで可視化できたことです。過去の平均価格や取引状況を瞬時に把握できるようになり、販売活動へのモチベーションが向上しました。
例えばDispenser履歴で検索するだけで自分の作成したシリーズは全部で何枚売れて、平均価格はいくらで合計販売額が何MONAか?みたいなことが一発でわかってしまいます。
また、他のモナカード製作者たちも同じようにこのツールを活用して、販売の改善や取引の楽しさを実感してくれることを願っています。たぶん大量発行者ほど恩恵が大きいんじゃないかなぁ?
MonaToolsでやりたかったこと
モナカードやMonaCharaTの検索といった機能や性能面とは別にMonaToolsで達成したかったことが2つあります。
サイト維持費はサイト運営で捻出する
MonaToolsは動作が安定して少ししてからサイト全体に広告を表示し、サブスク会員証を購入してくれた人には広告非表示にする、という施策をしています。
これには理由があります。
この手の個人サービスはサーバー代など運営者の持ち出しになることが多いです。 実際モナツーのサーバー代は毎月1000円程度かかってますしドメイン代等他にも費用は発生しています。
それは月で見たらたいした額ではないけれども毎月支払が何年も続くと数万円と結構な額になるんですよね。。。
それが原因でそこそこ人気のサイトでもサーバー代や管理が負担になって廃止するのを今まで何度も見てきました。
なのでMonaToolsで商売する気はないけども最低限の維持費は捻出したい!
そして 運営持ち出しでやっている個人サービスにもこの流れが波及し、結果的に個人サービスが長く続いてほしい、と思い有料化しました。
おかげさまで広告費とサブスク売上でここ1年ぐらいサーバー代ぐらいはだいたい賄えています。
ちなみに寄付を募る、というのも少し考えたけど個人的にお金をもらう以上対価として何かを提供したい、という思いがあり実施しませんでした。 ほしいMONAリストも登録したけどあれは集まったら機能を作る、だったし・・・
ちなみにモナカード寄付されたら何かする、、、みたいなのはやりたいなぁ~と思いつつまだ実現できていません。
寄付のあったモナカードの広告表示するとか検索順位優遇するとかは考えたことはあるけど 何か良いアイディアあれば教えてください
モナカードの寄付はほしい(ぼそっ)
サブスク会員証にAI画像の使用
自分は新しい技術を習得したらまず使って見たい派です。
30万円以上するRTX4090を購入してローカルでStableDiffusionが動くようになり、AIで画像生成ができるようになった。それを早速活用してみたいな!
そうだ!サブスク画像に利用しよう!
せっかくMonaToolsって利用者がそこそこいるサービスを運営していてサーバー代捻出のための施策を打つならせっかくだしAIも一枚噛ませよう!
AI画像に関して色々思うところがある人がいるのはわかるけれども、今回は画像自体を売るのではなく モナツーの利用権を販売し、そのおまけとして表紙にAI画像が載るだけだからそんなに悪感情はもたれないかなぁ?っと。
絵心ゼロの自分が毎月モナカード画像考えるのは無理だけどAI画像ならそれなりの物が簡単に作れる!ってことで
毎月AI画像で作った画像を元に編集してサブスク会員証を作っています。
飽きっぽい自分がきちんと1年半継続してるのは褒めてほしい(笑)
ちなみに余談ですが、このWordPressの記事もモナツーサブスク会員証が有効な場合広告が非表示になります。
モナカードを保有していると広告が非表示になる体験を貴方もしてみませんか?(宣伝
Advent Calendar きっかけに
ちなみにこの記事はモナコインのAdvent Calendar の企画投稿用に書いたのですが・・・
書きたいけど肝心の書く場所がないなぁから始まって、モナツーの大幅改修しました!
Advent Calendar の企画用に記事書こう
→ どうせ書くなら外部サイトじゃなくて自分の所がいいな
→モナツーにWordPress統合して説明系ページはWordPressに移行しよう
→MonaTools Articles 爆誕!
AdventCalendarのためにWordPress設置する人はなかなかいないと思うw
どうせやるなら後からも広く使える形態にしたいな~っと! Advent Calendar の企画のおかげで仮想通貨関係の情報を発信する場所ができました
最近はWordPressを別名義で複数運営していて 仮想通貨関連のことも書きたいから新しいドメイン取るかなぁ?って考えていたところだったのでモナツーに設置できてちょうどよかったです!
まとめ
そんなこんなでMonaToolsの製作当時のことやあまり外に出す機会のない思いを書き綴ってみました。
思いつくままに長文書いたけど最後までお読みいただきありがとうございました。
今後もモナツー運営を継続して使いやすいサイトとして長く続けられたらな、と思います。