テストネット(Testnet)のエクスプローラーを提供するサービスです。そのLibraVistaが、アカウント状態の取得や、Libraの発行(mint)を行うAPIサービスとしての「libra-vista-api」を公開しました。libra-vista-apiなおLibraのアカウント(アドレス)自体は、事前に作成しておく必要があります。下記の関連ページをご参照下さい。Testnetを試す[送金][mnemonic][recover]例えばリクエストした任意のアカウント(アドレス)において、その状態として下記のようなレスポンスがJSONとして返ってきます。1562643370838}addressはリクエストしたアカウントのアドレスです。balanceはそのアドレスが保存しているLibraの量、そしてLibraを受け取った回数(receivedEventCount)などが表示されているのが確認できます。Core(Testnet)のソースは下記リンクのGithubにおいて公開されていますが、主にRust言語によって記述され、多くの.protoファイルが存在するのが確認できます。https://github.com/libra/libraLibraは、client(クライアント)とvalidator(検証者)間においてgRPCによる通信がおこなわれています。様々な.protoファイルには、そのメッセージとインターフェイスが定義されています。このような仕組みによってイーサリアムにおけるweb3.jsと同じようなモジュールを、様々な言語によって構築できます。抜粋そのようなgRPCでの仕様をラップし、HTTPによるAPIとしてテストネットを利用できるようにしたのが、libra-vista-apiです。実際にLibraの本番環境が可動した時に、Moveによるスマートコントラクトも含めどのような開発の流れになるのかはまだまだ分かりませんが、2020年においてはFinTechにおいてもAPIエコノミーとしてのアプリ構築の流れがいよいよ加速していきそうです。下記コードはNode.jsによるコードで、gRPCによってLibraのTestnetと接続するクライアントを記述しています。具体的にはアカウント(f7550da222f〜)をリクエストし、そのアカウントの状態がバイナリデータとしてレスポンスされる機能を実装しています。control」機能に関するメッセージとインターフェイスとしてのServiceが記述されています。27行目のupdateToLatestLedgerはそのメソッドの一つで、admission_control.protoには下記のように記述されています。{}リクエストとしてUpdateToLatestLedgerRequest、レスポンスとしてUpdateToLatestLedgerResponseが指定されているのが確認できます。この2つのメッセージの具体的な内容は、importされているget_with_proof.protoファイルで定義されています。state)は、このupdateToLatestLedgerメソッドがクエリの役目となり、定義されたメッセージをリクエストすることにより取得できます。Node.jsによるgRPCの記述は下記ページをご覧下さい。Node.jsではじめるgRPC起動の方法まずプロジェクトを作成し、Node.jsでのgRPC実装に必要な2つのモジュールをインストールします。ファイルと、依存する他の.protoファイルも配置します。vm_errors.protoclient.jsを起動させます。}レスポンスとしてのアカウントの状態は、バイト列として返ってくるので(上述4行目のblob)、実際にはこの文字列からデータを切り出す必要があります。