tapyrus-api-client
TapyrusApiClient - the Ruby gem for the Tapyrus API
イントロダクション
これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていくことを予定しています。
- Payment: TPC(Tapyrus Coin) の送金
- Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録
- Token: 新しいトークンの発行、送金、焼却。NFTも利用可能
Tapyrus ブロックチェーンについては以下の情報を参照してください。
Tapyrus API の利用法
Tapyrus API は REST API として提供されています。利用を開始するためには、Tapyrus API の エンドポイント
に対して、 認証
済みの
トークンを使いアクセスする必要があります。また、認証されたユーザはそれぞれが自身のウォレットを Tapyrus API 内部に持つことになります。
ウォレットではそのユーザの TPC やトークンといったアセットを管理するための鍵が管理され、アセットの移動などで利用されます。
Tapyrus API のエンドポイント
エンドポイントは以下のフォーマットで作成され、 chaintope より提供されます。
ap-01.tapyrus.chaintope.com
例えば testnet では以下のようになります。
testnet-api.tapyrus.chaintope.com
testnet は誰でも利用可能な動作の確認用のネットワークであり、予告なくリセットされる可能性があります。 利用に必要な TPC は faucet から取得できます。
OpenID Connect を使った認証
Tapyrus API では OpenID Connect を使った認証をサポートします。この認証を利用するためには、 以下のステップを踏みます。
- 利用する OpenID Provider(OP) を選択する
公開された OP から選択する方法と、自身で OP を構築する方法があります。独自のユーザデータベースがあり、そのユーザに Tapyrus API を利用させる場合は後者の自身で OP を構築する方法を選択することになります。
- OAuth 2.0 Client Credential を入手する
多くの公開された OP では、アプリケーションを登録して Client Credential を入手する必要があります。手順は利用する OP に従ってください。
- Access Token と ID Token を入手する
OpenID Connect に沿った認証を行い、 token エンドポイントから ID Token を入手します。
- Tapyrus API ユーザを作成する
入手した Access Token と ID Token を Tapyrus API の createUser API へ送り、 Tapyrus API のユーザを作成します。
コード例を後述の Getting Started ドキュメントで解説していますので、そちらを参照してください。
Tapyrus API ユーザとウォレットについて
認証により得たアクセストークンを使い、Tapyrus API ユーザを1つ作成する必要があります。 Tapyrus API の内部では、このユーザ1つにつき1つのウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されており、同時にそれらのカギに紐づくアセットも管理されます。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。
Getting Started
Getting Started ドキュメントでは実際のコード例を交えながらより具体的な Tapyrus API の利用法を解説しています。
This SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- Package version: 0.0.3
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
Installation
Build a gem
To build the Ruby code into a gem:
gem build tapyrus-api-client.gemspec
Then either install the gem locally:
gem install ./tapyrus-api-client-0.0.3.gem
(for development, run gem install --dev ./tapyrus-api-client-0.0.3.gem
to install the development dependencies)
or publish the gem to a gem hosting service, e.g. RubyGems.
Finally add this to the Gemfile:
gem 'tapyrus-api-client', '~> 0.0.3'
Install from Git
If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
gem 'tapyrus-api-client', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'
Include the Ruby code directly
Include the Ruby code directly using -I
as follows:
ruby -Ilib script.rb
Getting Started
Please follow the installation procedure and then run the following code:
# Load the gem
require 'tapyrus-api-client'
# Setup authorization
TapyrusApiClient.configure do |config|end
api_instance = TapyrusApiClient::AddressApi.new
begin
#アドレスを生成して返します。
result = api_instance.create_address
p result
rescue TapyrusApiClient::ApiError => e
puts "Exception when calling AddressApi->create_address: #{e}"
end
Documentation for API Endpoints
All URIs are relative to https://ap-01.tapyrus.chaintope.com/api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
TapyrusApiClient::AddressApi | create_address | POST /addresses | アドレスを生成して返します。 |
TapyrusApiClient::AddressApi | get_addresses | GET /addresses | これまで生成したアドレスを一覧にして返します。 |
TapyrusApiClient::PaymentApi | transfer | POST /payment | 資金の送金 |
TapyrusApiClient::TimestampApi | add_timestamp | POST /timestamp | Timestampを記録 |
TapyrusApiClient::TimestampApi | get_timestamps | GET /timestamps | Timestamp一覧表示 |
TapyrusApiClient::TokenApi | burn_token | DELETE /tokens/token_id/burn | トークンの焼却 |
TapyrusApiClient::TokenApi | get_tokens | GET /tokens | トークンの総量取得 |
TapyrusApiClient::TokenApi | issue_token | POST /tokens/issue | トークンの新規発行 |
TapyrusApiClient::TokenApi | reissue_token | POST /tokens/token_id/reissue | トークンの再発行 |
TapyrusApiClient::TokenApi | transfer_token | PUT /tokens/token_id/transfer | トークンの送付 |
TapyrusApiClient::UserApi | create_user | POST /users | ユーザを作成します。 |
TapyrusApiClient::UserApi | get_user_info | GET /userinfo | ユーザの情報を返します。 |
Documentation for Models
- TapyrusApiClient::AddTimestampRequest
- TapyrusApiClient::CreateUserRequest
- TapyrusApiClient::GetAddressesResponse
- TapyrusApiClient::GetTokensResponse
- TapyrusApiClient::IssueTokenRequest
- TapyrusApiClient::PaymentRequest
- TapyrusApiClient::PaymentResponse
- TapyrusApiClient::ReissueTokenRequest
- TapyrusApiClient::TokenResponse
- TapyrusApiClient::TransferTokenRequest
- TapyrusApiClient::UserinfoResponse
- TapyrusApiClient::UserinfoResponseBalances
Documentation for Authorization
All endpoints do not require authorization.