tapyrus-api-client

TapyrusApiClient - the Ruby gem for the Tapyrus API

イントロダクション

これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。

  • Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録
  • Token: 新しいトークンの発行、送金、焼却。NFTも利用可能
  • Tracking: トレーサビリティを目的としてたモノの移動履歴を記録

Tapyrus ブロックチェーンについては以下の情報を参照してください。

Tapyrus API の利用法

Tapyrus API は REST API として提供されています。利用を開始するためには、Tapyrus API の エンドポイント に対して、 認証 済みの トークンを使いアクセスする必要があります。また、認証されたユーザはそれぞれが自身のウォレットを Tapyrus API 内部に持つことになります。 ウォレットではそのユーザの TPC やトークンといったアセットを管理するための鍵が管理され、アセットの移動などで利用されます。

Tapyrus API のエンドポイント

エンドポイントは以下のフォーマットで作成されます。

https://xxx.api.tapyrus.chaintope.com/api/v1

xxxの部分は各ユーザー固有の識別子になります。正式なURLは、ダッシュボードで確認できます。

API接続の準備

ダッシュボードに登録すると、chaintopeが登録情報を確認後、お客様のAPIエンドポイントを設定します。 エンドポイントが設定されるまでは、APIの機能はご利用いただけません。

クライアント証明書

Tapyrus APIに接続する際には、クライアント証明書が必要になります。ダッシュボードの「クライアント証明書」のメニューより、 クライアント証明書を発行してください。 発行すると秘密鍵と公開鍵の証明書を含むPKCS#12形式のファイルがダウンロードできます。

ユーザーの登録

ダッシュボードからAPIに接続するユーザーを作成します。Tapyrus APIではユーザー単位にウォレットが作成されます。 ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されています。 そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。

ダッシュボードの、「ユーザー一覧」からアクセスするユーザーを作成することができます。 ユーザーを作成すると、そのユーザー用のアクセストークンが発行されます。このアクセストークンとクライアント証明書の両方が漏洩すると、 不正アクセスが可能になるため、データの取り扱いには十分注意してください。

接続確認

クライアント証明書とユーザーが作成されると、APIにアクセスできるようになります。簡単な接続確認は、curlで以下のように行なえます。

  1. ダウンロードしたPKCS#12ファイルからcert.pemを生成。 $ openssl pkcs12 -in <ダウンロードした.p12ファイルのパス> -out cert.pem -nodes -clcerts
  2. cert.pemとアクセストークンを使ってAPIへアクセス。 $ curl -X GET -H 'Authorization: Bearer <ユーザーのアクセストークン>' \"https://xxx.api.tapyrus.chaintope.com/api/v1/timestamps\" -E cert.pem

成功するとAPIへのアクセスが可能になっています。これらの認証情報を使って、以下に記載する各APIがご利用いただけます。

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.1.0beta4
  • Package version: 1.1.0beta4
  • 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-1.1.0beta4.gem

(for development, run gem install --dev ./tapyrus-api-client-1.1.0beta4.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', '~> 1.1.0beta4'

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
purpose_address_request = TapyrusApiClient::PurposeAddressRequest.new # PurposeAddressRequest | 

begin
  #アドレスを生成して返します。
  result = api_instance.create_address(purpose_address_request)
  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.api.tapyrus.chaintope.com/api/v1

Class Method HTTP request Description
TapyrusApiClient::AddressApi create_address POST /addresses アドレスを生成して返します。
TapyrusApiClient::AddressApi get_addresses GET /addresses これまで生成したアドレスを一覧にして返します。
TapyrusApiClient::TimestampApi add_timestamp POST /timestamps Timestampを記録
TapyrusApiClient::TimestampApi get_timestamp GET /timestamps/id 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::TrackingApi consume_tracking POST /tracking/consume モノのトラッキングを終了します。
TapyrusApiClient::TrackingApi get_tracking_subjects GET /tracking/subjects/subject_id/traces モノの移動の履歴を返します。
TapyrusApiClient::TrackingApi get_tracking_traces GET /tracking/traces/trace_id モノの移動履歴(trace)に関する情報を返します。
TapyrusApiClient::TrackingApi supply_tracking POST /tracking/supply 新規でトラッキングを開始します。
TapyrusApiClient::TrackingApi transport_tracking POST /tracking/transport トラッキング中のモノの移動を記録します。
TapyrusApiClient::UserApi create_user POST /users ユーザを作成します。
TapyrusApiClient::UserApi get_user_info GET /userinfo ユーザの情報を返します。

Documentation for Models

Documentation for Authorization

All endpoints do not require authorization.