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

SidekickはAWSおよびGCP KMSとシームレスに統合でき、KMS署名者の利用が可能です。アダプターを用意しており、AWS/GCP KMSをethersの署名者タイプと互換にし、最新バージョンにも対応しています。

Sequence Sidekickは、ブロックチェーンアプリ開発者にスケーラブルですぐ使えるバックエンドソリューションを提供し、バックエンドの複雑さを気にせず開発に集中できます。

Sidekickバックエンドを開始する手順

1

Sidekickリポジトリをクローンする

git clone https://github.com/0xsequence/sidekick
2

必要な環境変数を設定する

必須環境変数

変数説明
PROJECT_ACCESS_KEYSequence Builder APIキーから取得したアクセスキー
SECRET_KEY独自のSidekick用シークレットキー
SEQUENCE_RPC_URLSequenceから取得したRPC URL
BUILDER_API_SECRET_KEYSequence Builder APIキーから取得したシークレットキーeyJh...
INDEXER_URLネットワークに応じたインデクサーURL
SIGNER_TYPE使用する署名者のタイプ

ウォレット構成用変数

以下のいずれかの構成を選択してください:

ローカルウォレット:
変数説明
EVM_PRIVATE_KEYトランザクション署名に使用するEOAの秘密鍵
AWS KMS構成:
変数説明
AWS_REGIONAWSアカウントのリージョン
AWS_ACCESS_KEY_IDAWSアクセスキーID
AWS_SECRET_ACCESS_KEYAWSシークレットアクセスキー
AWS_KMS_KEY_ID使用するKMSキーのID
GCP KMSの設定:
変数説明
PROJECTGCPプロジェクト名
LOCATIONGCPプロジェクトのロケーション
KEY_RINGキーリング名
CRYPTO_KEY暗号鍵名
CRYPTO_KEY_VERSION暗号鍵のバージョン
3

Dockerがインストールされていることを確認してください

こちらから入手できます

4

DockerコンテナでSidekickを起動する

pnpm docker:start
5

最初のAPIコールでスマートウォレットアドレスを取得する

curl -X GET 'http://localhost:3000/sidekick/smart-account-address'

Dockerを使わない開発モード

コードベースを変更してDockerなしでテストしたい場合は、READMEの手順に従ってバックエンドをローカルで実行できます。

ガススポンサーシップ

テストネットでは、すべてのトランザクションの手数料を当社が負担します。ただし、メインネットでは、トランザクションが正しく処理されるようにコントラクト自体の手数料をスポンサーする必要があります。詳しくは、Gas Sponsorshipソリューションをご覧ください。