最近忙しく、記事がなかなかかけずすみませんでした。とりあえず時間がちょっとだけできたので軽めに記事を書きたいと思います。
仕様
もう早速ですが仕様について説明したいと思います。
このbotは一応投げ銭botとしては最低限となる/deposit, /withdraw, /tipコマンド等を備え付けており、現在rainコマンドは作成中です。
仕様としては、最初はアドレスとアカウントをMysql側で紐づけようと思ってたのですがめんどくさくなったのでmonacoind側に備え付けられているアカウント機能を利用しています。
使用言語としてはpython, ライブラリはdiscord.pyを使用しています。
一応コマンド一覧をここにも載せておきます。(/helpコマンドをパクっただけです)
/help - ヘルプを表示します
/register - あなたの財布を新しく作成します
/balance - あなたの現在の残高を表示します
/deposit - あなたの所有しているアドレスを一覧表示します
/list - あなたの所有しているアドレスを一覧表示します
/withdrawall - あなたの持っているmonaすべてを指定されたアドレスに送金します
/tip - 指定されたmonaを指定されたユーザーに送ります
/withdraw - 指定されたmonaを指定されたアドレスに送ります
/rain - 指定された金額のmonaをランダムに配ります。 (Working in progress)
こんな感じです。
セキュリティ面
セキュリティとしては、最近話題のコールドウォレットは実装しておりません。
理由としてはこちらでは取引所のように24時間出金要請に対応しコールドウォレットから引き出すといった人員はいないためです。
一応最低限セキュリティとしてウォレットの暗号化、HDDの暗号化、そしてファイヤーウォールによるブロックのみは搭載していますがそれだけです。なのでくれぐれも倉庫代わりには使わないでください。
作った理由
作った理由としては最近モナオクの開発チームに参加しウォレットシステムの開発を任されたのですがそれだけじゃなんだかなーと思い作ったものです。Discord botを選んだ理由はDiscordにはSamuraiやXPbot等の投げ銭botがあるのにmonaだけないのはなんだかなーと思ったからです。ちなみにたまーに気づくとscreen忘れて落ちてます。
参加方法
以下のサーバーにて体験可能です。
UmikazeServer on Discord
なお、このほかにも開発用として利用、情報交換させていただいているMGQclubもありますがそこの紹介はやめておきます。
おしまい。
はい、どうですかねこのBot?個人的にはいい出来かと思うんですが。。ぜひ体験、フィードバックしていただけると嬉しいです。
では、これからもよろしくお願いします
UmikazeServer.verⅡの[.verⅡ]の削除をお願いします。
了解です。訂正しておきました
初めまして!緒方秀臣と申します。遊ぶ鯖サーバー覗かせていただきました!
今discord上のコミュニティでテストネットで作成したトークン を使った投げ銭botの開発を考えているところ、raspiさんの投稿を発見しました!
どのような仕組みになっているのか非常に気になっているのですが、何か参考にされたりベースになっているbotなどありましたら教えていただきたいです。ご返信お待ちしております。
こんにちは。コメントありがとうございます。
Monageについてはdiscord.pyというDiscordのAPIのPythonラッパーを使用して書いたものです。
中身を簡単に説明すると例えば /balance と入力されたらブロックチェインエクスプローラー等にアクセスして残高を確認したり /tipと入力、または特定のリアクションがされたときにウォレットソフトウェア(Monacoinの場合はmonacoind)の送金コマンドを実行している感じです。なお6月以降は法律改正に伴いMPurseというウォレットをユーザー側で入れてもらい、MPurseの送金ウィンドウを開くリンクを/tipコマンド実行時に表示するという形をとっています。
特にベースとしたBotはなく、一から書いたのでそこらへんは何とも言えないのですが一応Monageのソースコードを(かなり見にくいのとトークン対応にかなりの改修が必要になるのとあとライセンスがGPLv3なのでベースにすることはお勧めしませんが)GitHubに公開しているのでそのリンクとあとは参考になった/なりそうな記事へのリンクを置いておきます。
Monageのソースコード: https://github.com/raspi0124/dismona (法律改正対応前)
https://github.com/raspi0124/dismona/tree/comply-law (法律改正対応後)
https://qiita.com/1ntegrale9/items/9d570ef8175cf178468f
追伸: 今年の6月に施行された法律によってユーザーの暗号資産を管理することが禁じられ、原則ユーザーサイドでトークン等を管理する設計にしないといけないのでBot作成は結構めんどい感じになると思います。
さらに追伸: Ethereumのトークンでしたらweb3というライブラリを使うといいかもしれませんね。
返信ありがとうございます!!!
なるほどご自分で一から書かれたんですね…すごいです!
web3なるライブラリがあるんですね!!!これ使えそうですね…
ソースコードまで…何から何までありがとうございます。ちょっとずつ理解していこうと思います!
軽く凹んでましたが実現できそうな気がしてきました!
追伸:Tippiなるbotを発見しました!こちらにも可能性がありそうなので併せてイジッていきます
完成したらぜひみて欲しいです!!!!