全体のアーキテクチャ

Architecture

DApps

ユーザは本サービスを使いトランザクションを実行する場合、提供しているライブラリを用いて手元のWeb3対応ウォレットにより署名を行います。 この署名はEIP712に従っています。

署名を行ったトランザクションはデベロッパの用意するAPIサーバに送られます。

ユーザが手元で署名を行うため、DAppsの特徴である非中央集権性を維持することができます。

詳細についてはクライアントライブラリを参照してください。

API Server

デベロッパはDAppsのフロントエンドと、APIサーバを用意します。 APIサーバは、ユーザ認証等を行った上で、署名済みトランザクションを受け入れ、本サービスの利用のためのアクセストークンをつけて本サービスのAPIサーバに転送します。

アクセストークンの管理等についてはマネジメントコンソールを参照してください。

TxProxy

本サービスのAPIサーバは、デベロッパの認証を行った後、本サービスの保有するETHを用いてトランザクションを発行します。トランザクションにかかったGAS代は、料金プランに応じてデベロッパに請求されます。

詳細についてはAPIを参照してください。

Ethereum

本サービスを経由して発行されたトランザクションは、用意されたProxyコントラクトによって署名の検証がされた後に、デベロッパのDAppsコントラクトが呼び出されます。 新規のDAppsでは、本サービスに対応したコントラクトとすることで、トランザクション発行元としてユーザのウォレットアドレスを確認できます。 また、代理で呼び出しを行うコントラクトを用いて、既存のDAppsに対応することも可能です。

詳細についてはスマートコントラクトを参照してください。