STEPNみたいな構成でサーバー構築した場合のハマリポイント。
Agenda
サーバー
AWSやGoogle Cloud Platformといったカスタマイズが柔軟なサーバーの採用がおすすめ。特にサーバー間IP制限できる必要がある。
たとえば、Web2フロントエンドからweb3バックエンドに、NFT発行やトークン送信をリクエストする場合、バックエンド側にKeypairが格納されているため、バックエンドはIP制限などセキュリティを高める必要がある。
最初はHerokuで構築していたが、IP制限するためにはEnterprise契約が必要で、コスト見合いでAWSに切り替えた。
NPMモジュール
sleepは自分で定義
NPMにsleepがあって便利ではあるが、サーバー側に追加でライブラリのインストールが必要になるため、独自定義するのがよい。
export function sleep(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
sleep(1000);
bufferのimport
Reactで、なぜかNFTが習得できない現象が発生。しかもエラーが出力されずハマった。
その場合は以下を追加したら解決した。
import { Buffer } from 'buffer';
// @ts-ignore
window.Buffer = Buffer;
もしかしたら、おまじないのように入れておいたほうがよいかも。