ブロックチェーンとの統合
あなたが顧客へのブロックチェーンサービス提供者で、プラットフォームにAptosブロックチェーンを追加したい場合は、このガイドが役立ちます。このシステムインテグレーターガイドは、プラットフォームにAptosブロックチェーンを統合する際必要な全ての手順を解説します。
概要
このドキュメントでは、以下のタスクでAptosと統合する方法を解説します。
- テスト用の環境を準備します。
- ブロックチェーン上にアカウントを作成します。
- 例えばスワップを実行するために、アカウントIDとブロックチェーン上の別のエンティティを交換します。
- トランザクションを作成します。
- ガスの見積もりを取得し、トランザクションが正しいかどうか検証します。
- トランザクションをブロックチェーンに送信します。
- トランザクションの結果を待ちます。
- 与えられたアカウントと特定のアカウントとの取引履歴や、やり取りをクエリします(引出しや入金等)。
始める
開始するには、ネットワークを選択し、ツールのセットを選ぶ必要があります。開発の加速に役立つSDKもいくつかあります。
ネットワークを選択する
Aptosブロックチェーンと統合するためのネットワークが4つあり、充分サポートされています。
- ローカルネット -- 外部ネットワークを使用せず、既知のバージョンのコードベースに対しローカル開発を行うためのスタンドアロンツールです。
- Devネット -- コミュニティの共有リソース。データは毎週リセットされ、aptosコアメインブランチから毎週更新されます。
- テストネット -- コミュニティの共有リソース。データは保存され、ネットワーク構成はメインネットを模倣します。
- メインネット -- 実際の資産を含むプロダクションネットワーク。
各環境の詳細についてはAptosブロックチェーンネットワークを御覧下さい。
ローカルテストネットを実行する
ローカルネットを実行するには2つの選択肢があります。
-
Aptos CLIをインストールし、2)ローカル開発ネットワークを実行します。このパスはAptosブロックチェーンでの開発、Moveコントラクトのデバッグ、およびノード操作のテストに役立ちます。これにより、単一ノードネットワーク、ノードREST API、インデクサーAPI、フォーセットを含むローカル開発環境の機能が完備されています。
-
Aptosコアソースコードのいずれかを使用して、直接ローカルネットを実行します。これらのパスは、Aptosコアのコードベースまたはフレームワークへの変更をテストする場合、またはAptosブロックチェーンのトップにサービスを構築する場合、それぞれ役立ちます。
これらの方法のいずれでも、http://127.0.0.1:8080
でREST APIサービスを公開します。http://127.0.0.1:8000
でオプション1のローカルネットを実行してフォーセットAPIサービスを公開します。または、http://127.0.0.1:8081
でオプション2のAptos CLIをインストールします。アプリケーションはサービス用の場所を出力します。
プロダクションネットワークアクセス
- Devネット
- テストネット
- メインネット
- REST API: https://api.devnet.aptoslabs.com/v1
- REST APIスペック: https://api.devnet.aptoslabs.com/v1/spec#/
- インデクサーAPI: https://api.devnet.aptoslabs.com/v1/graphql
- フォーセットAPI: https://faucet.devnet.aptoslabs.com
- インデクサーGraphQL
- REST API: https://api.testnet.aptoslabs.com/v1
- REST APIスペック: https://api.testnet.aptoslabs.com/v1/spec#/
- インデクサーAPI: https://api.testnet.aptoslabs.com/v1/graphql
- フォーセットAPI: https://faucet.testnet.aptoslabs.com
- インデクサーGraphQL
- REST API: https://api.mainnet.aptoslabs.com/v1
- REST APIスペック: https://api.mainnet.aptoslabs.com/v1/spec#/
- インデクサーAPI: https://api.mainnet.aptoslabs.com/v1/graphql
- フォーセット:該当無し
- インデクサーGraphQL
SDKとツール
Aptosは現在3つのSDKを提供しています。
殆どの開発者はCLIからの恩恵を受ける事が出来ます。Using the CLIの使用では、CLIを使用してアカウントの作成、コインの転送、Moveモジュールの公開等を行う方法を示します。
Aptosのアカウント
accountトランザクションを送信出来るAptosブロックチェーン上のエンティティを表します。各アカウントは特定の32バイトのアカウントアドレスによって識別され、 Moveモジュールと資源のコンテナーとなります。Aptosでは、アカウントが絡むブロックチェーン操作は、オンチェーンでアカウントを先に作成してから行います。Aptosフレームワークは、aptos_account::transfer
を介してAptosコインを転送する時、暗黙的にアカウントが作成されます。もしくはaptos_account::create_account
を介してアカウント作成します。
作成中のAptosアカウントは以下を含みます。
- Aptosコインを含む資源と、その資源からのコインの入出金。
- 現在の公開鍵と秘密鍵に関連付けられた認証キー。
- 厳密に増加するシーケンス番号。リプレイ攻撃を防ぐため、アカウントの次に来るトランザクションのシーケンス番号を表します。
- 厳密に増加する数値。次に来る個別のGUID作成番号を表します。
- アカウントに追加された新タイプのコイン全部のイベントハンドル。
- アカウントの全キーローテーションのイベントハンドル。
トランザクション
Aptosトランザクションはバイナリ公式シリアライゼーション(BCS)でエンコードされます。トランザクションは送信者のアカウントアドレス、送信者からの認証、Aptosブロックチェーンで実行したい操作、送信者がトランザクションの実行で支払うガス量等の情報を含みます。
詳細はトランザクションと状態。
トランザクションの生成
Aptosは、トランザクション構築方法を2つサポートしています。
- Aptosクライアントライブラリを使用してネイティブBCSトランザクションを生成します。
- JSONエンコードされたオブジェクトを構築し、REST APIと対話してネイティブトランザクションを生成します。
好ましいアプローチは、直接ネイティブBCSトランザクションを生成する事です。REST APIを介してそれらを生成すると、フルノードがトランザクションを正しく生成する事を信頼をせず、迅速な開発が可能です。