✍️

web3.jsを使ってMetaMaskで署名してNode.jsで検証する方法

2022/08/11に公開

この記事について

この記事ではweb3.jsを使ってフロントエンドのMetaMaskで署名してバックエンドのNode.jsで検証する方法について紹介します。この記事の関連リソースを下記に示します。

コーディングの準備

ターミナルで下記のコマンドを実行してコーディングの準備をします。

npx create-next-app --typescript how-to-sign-and-verify-using-web3js
cd how-to-sign-and-verify-using-web3js
touch pages/sign.tsx pages/api/verify.ts
npm install --save web3

コーディング

エディタで下記のファイルを開いて内容を入力します。

pages/sign.tsx

pages/api/verify.ts

動作確認

ターミナルで下記のコマンドを実行してサーバーを起動します。

npm run dev

ブラウザで http://localhost:3000/sign にアクセスします。

Signボタンをクリックします。

MetaMask Notificationポップアップが表示されたらSignボタンをクリックします。

Signボタンの直後にVerified!とメッセージが表示されることを確認します。

参考画像

おわりに

下記の記事で紹介されているように署名と検証を利用してユーザー認証を行うことができます。

DApps のユーザー認証に web3.eth.personal.sign を使おう! - Tech Inside Drecom

後日になりますがユーザー認証の記事が完成したら投稿したいと思います。

GitHubで編集を提案

Discussion