search
クリプト

投票用Discord bot 仕様書(For User)

cryptohinata's icon'
  • cryptohinata
  • 2025/03/20 10:38

1. 概要・特徴

TCGCトークンの保有量をもとに投票できるDiscord Botです。

事前にウォレットを一度だけ署名で紐づければ、あとはDiscord上のテキストコマンドだけで投票できます。

投票開始(立案)時点でのTCGC保有量をスナップショットとして利用し、重みづけ投票を行います。

途中経過最終結果まで、すべてDiscord上で確認・操作が可能です。

2. ユーザーが行う操作の流れ

ウォレット登録(初回のみ) 

Discordで「!wallet」を入力すると、BotがDMで認証ページのURLを送ってくれます。

認証ページを開き、ウォレット(例: MetaMask)をConnect → 表示されたnonceを署名。

サーバ側で署名を検証し、ウォレットアドレスとDiscordユーザーIDがひも付きます。

これ以降は、署名不要で投票可能です。

投票の開始(管理者向け) 

管理者が「!set <タイトル> <選択肢数> <任意:投票期限(時間)>」を入力。

スナップショット(TCGC残高)を取得し、投票IDが作成されます。

Botがチャットに「投票が始まりました」と告知します。

投票 

参加者は「!vote <投票ID> <選択肢番号>」を入力して投票します。

投票力は、投票開始時点(スナップショット)の各ウォレットのTCGC保有量です。

途中経過の確認 

「!progress <投票ID>」コマンドで、現時点の各選択肢が集めた投票力を照会できます。

何度でもコマンドを実行してリアルタイム状況を把握できます。

投票終了 & 結果発表 

投票期限以降、管理者が「!close <投票ID>」コマンドを実行すると投票は締め切られ、集計結果が自動表示されます。

結果の明細(どのウォレットがどの選択肢へ投票したか)をCSVファイルとして出力・添付する仕組みも用意されています。

3. メリット・ポイント

Discordだけで完結 

投票の作成から締め切り、集計結果の閲覧まですべてコマンド操作。

ユーザーはチャットから移動することなく投票を行えます。

署名は初回だけ 

1度ウォレットを紐づけてしまえば、以後の投票で追加の署名は不要。

ウォレットアドレスはデータベースに保存され、コマンドだけで投票できます。

投票力の正当性 

投票立案時のTCGC保有量を参照することで、投票中のトークン移動による不正を防止。

DAOにおいては保有割合に応じた重みづけが重要ですが、それを手軽に実現できます。

わかりやすい途中経過 & 集計 

「!progress」コマンドでいつでも現状を見られ、投票が活性化。

「!close」で自動集計 → CSV出力すれば、外部にアーカイブや分析することも簡単。

4. まとめ

初回署名の負担は最小限に抑えつつ、重みづけ投票の正当性使いやすさを両立しています。

投票手順は「コマンドを打つだけ」で済み、スナップショットや集計の処理はBotが自動的に行います。

**本システムの安全性について

このコードは、ウォレットとDiscordアカウントを紐付けるために署名を行います。あくまでウォレット内で署名をするだけなので、送金やコントラクト実行は行われません。

署名に使用されるのは**nonce(ノンス)**と呼ばれる乱数で、ランダムな文字列になっています。意味不明な文字列が表示されても仕様どおりですのでご安心ください。

メッセージ署名はブロックチェーン上でトランザクションを送るわけではないため、ガス代は一切かかりません。もしウォレット上でガス代が表示された場合、それは送金やコントラクト実行を伴う「本来とは別の操作」が求められている可能性があるため、そのまま署名・承認しないでください

**重要な仕様

議題作成時(!setコマンド実行時)にウォレットと紐づけが行われていなかったアカウントは、基本的にその投票で投票力を持ちません。

ただし、Snapshot上で過去半年〜1年以内に投票実績があるウォレットは、投票開始時点のスナップショット取得の段階で投票力の計算に含まれています。

そのため、議題作成後にウォレット紐づけをしても、すでにSnapshot経由で投票履歴があるユーザーであれば、投票参加が可能になります。

大部分のユーザーは、!set後の紐づけでも投票に参加できる運用を想定しています。

 

Article tip 0人がサポートしています
獲得ALIS: Article like 0.00 ALIS Article tip 0.00 ALIS
Article registration Article registration
cryptohinata's icon'
  • cryptohinata
  • @cryptohinata
hinata(#048678)/Cryptospells

投稿者の人気記事
コメントする
Loading...
コメントする
こちらもおすすめ!
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

nnppnpp(んぺー) 2021/09/08
Like token Tip token
46.60 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

CryptoChick 2020/03/05
Like token Tip token
44.10 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

昆布森ちゃん 2021/01/24
Like token Tip token
21.49 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Macky3216 2020/09/28
Like token Tip token
40.40 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

池田らいく 2021/04/04
Like token Tip token
18.92 ALIS
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

暗号資産ジョシ校生 蟻巣 2021/06/30
Like token Tip token
30.03 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

KTAG 2021/02/22
Like token Tip token
54.01 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

otakucoin 2021/03/29
Like token Tip token
121.79 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

昆布森ちゃん 2021/03/16
Like token Tip token
38.10 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

ゆうき 2021/05/17
Like token Tip token
236.30 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

大田コウキ 2021/04/06
Like token Tip token
947.13 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Taka 2021/02/25
Like token Tip token
59.99 ALIS