Sequence Sidekick 👷♂️
Sequence Sidekickは、Sequenceのインフラを活用した充実のバックエンドを提供し、開発者のブロックチェーン連携を効率化します。Sidekickを使えば、独自のバックエンドウォレットで以下の操作をプログラムから実行できます。- 事前構成済みのバックエンドサービス:Redis、PostgreSQL、トランザクションAPI、インデクサーがすぐに利用可能です。
- 簡単なデプロイ:1コマンドでDockerコンテナを作成し、数分でバックエンドを立ち上げられます。
- 柔軟なウォレットオプション:ローカル管理の秘密鍵によるSequenceスマートウォレット、またはAWS/GCP KMSとの安全な連携が選択できます。
- シームレスなコントラクトデプロイ:APIコールでERC20、ERC721、ERC1155、カスタムスマートコントラクトをデプロイできます。
- 信頼性の高いトランザクション管理:ゲームやアプリの任意のコントラクトへの読み書きが可能で、自動ノンス管理やガス価格調整などの最適化も備えています。
- Webhook連携:高性能インデクサーを活用し、Webhookを完全に管理できます。
- 最適化されたガス価格:トランザクションは最適なガス価格で送信され、3ブロック以内にメンポールに含まれない場合は自動で再送信されます。
- 組み込みユーザー報酬システム:1回のAPIコールで自己申請型または定期的なユーザー報酬(ERC20、ERC721、ERC1155)を設定できます。
- 組み込みのBull MQダッシュボード:バックグラウンドジョブの監視・管理が可能です。
- Swagger UI:APIドキュメントを確認し、Swagger UIでエンドポイントのテストができます。
- コントラクトユーティリティ:異なるチェーンでのコントラクトデプロイ状況を簡単に確認できます。
- Sequence Builderとのシームレス連携:すべてのSequence Builderコントラクトを1回のAPIコールでSidekickバックエンドにインポート、または手動でカスタムコントラクトを追加できます。
バックエンドウォレットについて
Sidekick経由で実行されるすべてのトランザクションは、指定した外部所有アカウント(EOA)ごとに自動作成されるSequenceスマートウォレットを利用し、最適化された実行を実現します。 バックエンドウォレットの設定方法:- ローカル環境用にEVM_PRIVATE_KEYを.envファイルに記載(本番環境では非推奨)
- 推奨方法: AWS または GCP KMSを設定し、必要な認証情報を.envファイルに追加
ローカル、AWS、GCPウォレット構成に必要な認証情報は、env.exampleファイルをご参照ください。
AWS KMSおよびGCP KMSで正しいキータイプを選択してください。
- AWS KMS:
ECC_NIST_P256_KEY_ALIAS - GCP KMS:
GCP_KEY_RING_NAME
Sequence Sidekickを利用する際の注意点:
msg.senderはあなたのEOAのSequenceウォレットアドレスとなり、EOAアドレスそのものではありません。tx.originはSequenceリレイヤーアドレスのいずれかになります。- コントラクト関数呼び出しの際は、Sequenceウォレットアドレスに適切な権限が付与されていることを確認してください。
- メインネットステータスページでアクティブなリレイヤーアドレスを確認できます。
Sidekickバックエンドを開始する手順
必要な環境変数を設定する
必須環境変数
| 変数 | Description | |
|---|---|---|
| PROJECT_ACCESS_KEY | Sequence Builder APIキーから取得したアクセスキー | |
| SECRET_KEY | 独自のSidekick用シークレットキー | |
| SEQUENCE_RPC_URL | Sequenceから取得したRPC URL | |
| BUILDER_API_SECRET_KEY | Sequence Builder APIキーから取得したシークレットキー | eyJh... |
| INDEXER_URL | ネットワークに応じたインデクサーURL | |
| SIGNER_TYPE | 使用する署名者のタイプ |
ウォレット構成用変数
以下のいずれかの構成を選択してください:ローカルウォレット:
| 変数 | Description |
|---|---|
| EVM_PRIVATE_KEY | トランザクション署名に使用するEOAの秘密鍵 |
AWS KMS構成:
| 変数 | Description |
|---|---|
| AWS_REGION | AWSアカウントのリージョン |
| AWS_ACCESS_KEY_ID | AWSアクセスキーID |
| AWS_SECRET_ACCESS_KEY | AWSシークレットアクセスキー |
| AWS_KMS_KEY_ID | 使用するKMSキーのID |
GCP KMSの設定:
| 変数 | Description |
|---|---|
| PROJECT | GCPプロジェクト名 |
| LOCATION | GCPプロジェクトのロケーション |
| KEY_RING | キーリング名 |
| CRYPTO_KEY | 暗号鍵名 |
| CRYPTO_KEY_VERSION | 暗号鍵のバージョン |
Dockerがインストールされていることを確認してください
こちらから入手できます