| 概要 | DiscourseでSign-In with Ethereumを有効にする | |
| リポジトリ | GitHub - signinwithethereum/discourse-siwe-auth: Discourse plugin for SIWE authentication · GitHub | |
| インストールガイド | Discourseでプラグインをインストールする方法 |
機能
このプラグインは、DiscourseでSign-In with Ethereumを有効にします。
設定
要件
- セルフホストされているか、Communiteq のようにサードパーティ製プラグインを許可しているプロバイダーでホストされているDiscourseフォーラム。
注意
Sign-In with Ethereumプラグインは、初回認証後にアカウントを関連付けるために、引き続きユーザーにメールアドレスの入力を要求します。ユーザーがENSアドレスを所有している場合、それがデフォルトで選択されるユーザー名になります。メールアドレスが関連付けられると、ユーザーはいつでもSIWEオプションを使用してサインインできるようになります。
プラグインの有効化
セルフホストされているDiscourseにプラグインをインストールして有効にするには、次の方法を使用します。コンテナの app.yml ファイル(/var/discourse/containers/ にあります)にアクセスします。
cd /var/discourse
nano containers/app.yml
プラグインのリポジトリURLをコンテナの app.yml ファイルに追加します。
hooks:
before_code: # <-- 追加
- exec: # <-- 追加
cmd: # <-- 追加
- gem install rubyzip # <-- 追加
after_code:
- exec:
cd: $home/plugins
cmd:
- sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
- sudo -E -u discourse git clone https://github.com/spruceid/discourse-siwe-auth.git # <-- 追加
docker_manager.git の行の既存の形式に従います。sudo -E -u discourse が含まれていない場合は、- git clone https://github.com/spruceid/discourse-siwe-auth.git を挿入します。
コンテナを再構築します。
cd /var/discourse
./launcher rebuild app
無効にするには、プラグインを削除するか、(管理者設定 → プラグイン → discourse-siwe → discourse siwe enabled で)discourse siwe enabled のチェックを外します。
WalletConnectの有効化
WalletConnectのサポートはInfuraを介して提供できます。新しいInfuraプロジェクトIDを取得するために、新しいInfuraプロジェクトを作成します。次に、設定(上記と同じ)に移動し、その場所にIDを貼り付けて、チェックマークをクリックします。 
JSON RPC
代替案として、以下に示すように、JSON RPCエンドポイントでWalletConnectインスタンスを設定することもできます。
これを実行すると、WalletConnect固有のInfura ID設定オプションが優先されます。Infura IDの他の使用方法は影響を受けません。
メッセージステートメントの編集
デフォルトでは、メッセージに次のステートメントが追加されます:Sign-in to Discourse via Ethereum。このステートメントを編集するには、設定(上記と同じ)にアクセスして更新します。 


