クリプト

投票用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
cryptohinata's icon'
  • cryptohinata
  • @cryptohinata
hinata(#048678)/Cryptospells

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

約2年間ブロックチェ-ンゲームをして

Like token Tip token
161.20 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Like token Tip token
69.90 ALIS
Eye catch
クリプト

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

Like token Tip token
121.79 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
32.32 ALIS
Eye catch
クリプト

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

Like token Tip token
236.30 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

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

Like token Tip token
21.49 ALIS
Eye catch
クリプト

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

Like token Tip token
59.99 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

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

Like token Tip token
40.40 ALIS
Eye catch
クリプト

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

Like token Tip token
44.10 ALIS