tapyrus-api-client 0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +68 -0
  4. data/README.md +183 -0
  5. data/Rakefile +10 -0
  6. data/docs/AddTimestampRequest.md +20 -0
  7. data/docs/AddressApi.md +142 -0
  8. data/docs/CreateUserRequest.md +24 -0
  9. data/docs/GetAddressesResponse.md +20 -0
  10. data/docs/GetTokensResponse.md +20 -0
  11. data/docs/IssueTokenRequest.md +20 -0
  12. data/docs/PaymentApi.md +76 -0
  13. data/docs/PaymentRequest.md +22 -0
  14. data/docs/PaymentResponse.md +18 -0
  15. data/docs/ReissueTokenRequest.md +18 -0
  16. data/docs/TimestampApi.md +139 -0
  17. data/docs/TokenApi.md +355 -0
  18. data/docs/TokenResponse.md +20 -0
  19. data/docs/TransferTokenRequest.md +20 -0
  20. data/docs/UserApi.md +140 -0
  21. data/docs/UserinfoResponse.md +22 -0
  22. data/docs/UserinfoResponseBalances.md +18 -0
  23. data/git_push.sh +58 -0
  24. data/lib/tapyrus-api-client.rb +56 -0
  25. data/lib/tapyrus-api-client/api/address_api.rb +142 -0
  26. data/lib/tapyrus-api-client/api/payment_api.rb +83 -0
  27. data/lib/tapyrus-api-client/api/timestamp_api.rb +138 -0
  28. data/lib/tapyrus-api-client/api/token_api.rb +345 -0
  29. data/lib/tapyrus-api-client/api/user_api.rb +145 -0
  30. data/lib/tapyrus-api-client/api_client.rb +389 -0
  31. data/lib/tapyrus-api-client/api_error.rb +57 -0
  32. data/lib/tapyrus-api-client/configuration.rb +270 -0
  33. data/lib/tapyrus-api-client/models/add_timestamp_request.rb +232 -0
  34. data/lib/tapyrus-api-client/models/create_user_request.rb +269 -0
  35. data/lib/tapyrus-api-client/models/get_addresses_response.rb +229 -0
  36. data/lib/tapyrus-api-client/models/get_tokens_response.rb +227 -0
  37. data/lib/tapyrus-api-client/models/issue_token_request.rb +232 -0
  38. data/lib/tapyrus-api-client/models/payment_request.rb +246 -0
  39. data/lib/tapyrus-api-client/models/payment_response.rb +218 -0
  40. data/lib/tapyrus-api-client/models/reissue_token_request.rb +223 -0
  41. data/lib/tapyrus-api-client/models/token_response.rb +227 -0
  42. data/lib/tapyrus-api-client/models/transfer_token_request.rb +232 -0
  43. data/lib/tapyrus-api-client/models/userinfo_response.rb +238 -0
  44. data/lib/tapyrus-api-client/models/userinfo_response_balances.rb +218 -0
  45. data/lib/tapyrus-api-client/version.rb +15 -0
  46. data/spec/api/address_api_spec.rb +59 -0
  47. data/spec/api/payment_api_spec.rb +47 -0
  48. data/spec/api/timestamp_api_spec.rb +58 -0
  49. data/spec/api/token_api_spec.rb +98 -0
  50. data/spec/api/user_api_spec.rb +59 -0
  51. data/spec/api_client_spec.rb +226 -0
  52. data/spec/configuration_spec.rb +42 -0
  53. data/spec/models/add_timestamp_request_spec.rb +40 -0
  54. data/spec/models/create_user_request_spec.rb +52 -0
  55. data/spec/models/get_addresses_response_spec.rb +40 -0
  56. data/spec/models/get_tokens_response_spec.rb +40 -0
  57. data/spec/models/issue_token_request_spec.rb +40 -0
  58. data/spec/models/payment_request_spec.rb +46 -0
  59. data/spec/models/payment_response_spec.rb +34 -0
  60. data/spec/models/reissue_token_request_spec.rb +34 -0
  61. data/spec/models/token_response_spec.rb +40 -0
  62. data/spec/models/transfer_token_request_spec.rb +40 -0
  63. data/spec/models/userinfo_response_balances_spec.rb +34 -0
  64. data/spec/models/userinfo_response_spec.rb +46 -0
  65. data/spec/spec_helper.rb +111 -0
  66. data/tapyrus-api-client.gemspec +38 -0
  67. metadata +192 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: cf77f4a63d4967ed8ec527e78c991c74fe092b74a2ee1840e51085ba2b18504b
4
+ data.tar.gz: 4fcb11e67112de015e8962b3a32afaa805d91819464f826587df47d9421d6ed4
5
+ SHA512:
6
+ metadata.gz: 556bbd41c3c3cdc76083ac80bd9636fcb21a3e12a9344d3b1b75b8a54f5fde3165aee705bcad163a5d25f44f11e0b5ab00ea55703f49d2e44f05686340acdb03
7
+ data.tar.gz: 6761f6762c1574941ef24c09d4fb9f6675721b5a0eee9a9ef826d002df8ad638fa62550bcde5f0c01ff6668953e94f673c8d98be54b25c25e84813d06e10a276
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,68 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ tapyrus-api-client (0)
5
+ typhoeus (~> 1.0, >= 1.0.1)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ ast (2.4.2)
11
+ byebug (11.1.3)
12
+ coderay (1.1.3)
13
+ diff-lcs (1.4.4)
14
+ ethon (0.14.0)
15
+ ffi (>= 1.15.0)
16
+ ffi (1.15.3)
17
+ jaro_winkler (1.5.4)
18
+ method_source (1.0.0)
19
+ parallel (1.20.1)
20
+ parser (3.0.2.0)
21
+ ast (~> 2.4.1)
22
+ pry (0.13.1)
23
+ coderay (~> 1.1)
24
+ method_source (~> 1.0)
25
+ pry-byebug (3.9.0)
26
+ byebug (~> 11.0)
27
+ pry (~> 0.13.0)
28
+ psych (4.0.1)
29
+ rainbow (3.0.0)
30
+ rake (13.0.6)
31
+ rspec (3.10.0)
32
+ rspec-core (~> 3.10.0)
33
+ rspec-expectations (~> 3.10.0)
34
+ rspec-mocks (~> 3.10.0)
35
+ rspec-core (3.10.1)
36
+ rspec-support (~> 3.10.0)
37
+ rspec-expectations (3.10.1)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.10.0)
40
+ rspec-mocks (3.10.2)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.10.0)
43
+ rspec-support (3.10.2)
44
+ rubocop (0.66.0)
45
+ jaro_winkler (~> 1.5.1)
46
+ parallel (~> 1.10)
47
+ parser (>= 2.5, != 2.5.1.1)
48
+ psych (>= 3.1.0)
49
+ rainbow (>= 2.2.2, < 4.0)
50
+ ruby-progressbar (~> 1.7)
51
+ unicode-display_width (>= 1.4.0, < 1.6)
52
+ ruby-progressbar (1.11.0)
53
+ typhoeus (1.4.0)
54
+ ethon (>= 0.9.0)
55
+ unicode-display_width (1.5.0)
56
+
57
+ PLATFORMS
58
+ x86_64-linux
59
+
60
+ DEPENDENCIES
61
+ pry-byebug
62
+ rake (~> 13.0.1)
63
+ rspec (~> 3.6, >= 3.6.0)
64
+ rubocop (~> 0.66.0)
65
+ tapyrus-api-client!
66
+
67
+ BUNDLED WITH
68
+ 2.2.24
data/README.md ADDED
@@ -0,0 +1,183 @@
1
+ # tapyrus-api-client
2
+
3
+ TapyrusApiClient - the Ruby gem for the Tapyrus API
4
+
5
+ # イントロダクション
6
+
7
+ これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
8
+ 現在以下のユースケースをサポートしています。これは今後も拡張されていくことを予定しています。
9
+ * Payment: TPC(Tapyrus Coin) の送金
10
+ * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録
11
+ * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能
12
+
13
+ Tapyrus ブロックチェーンについては以下の情報を参照してください。
14
+
15
+ * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/)
16
+ * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core)
17
+
18
+ ## Tapyrus API の利用法
19
+
20
+ Tapyrus API は REST API として提供されています。利用を開始するためには、Tapyrus API の `エンドポイント` に対して、 `認証` 済みの
21
+ トークンを使いアクセスする必要があります。また、認証されたユーザはそれぞれが自身のウォレットを Tapyrus API 内部に持つことになります。
22
+ ウォレットではそのユーザの TPC やトークンといったアセットを管理するための鍵が管理され、アセットの移動などで利用されます。
23
+
24
+ ### Tapyrus API のエンドポイント
25
+
26
+ エンドポイントは以下のフォーマットで作成され、 chaintope より提供されます。
27
+
28
+ `ap-01.tapyrus.chaintope.com`
29
+
30
+ 例えば [testnet](https://testnet-explorer.tapyrus.dev.chaintope.com/blocks) では以下のようになります。
31
+
32
+ `testnet-api.tapyrus.chaintope.com`
33
+
34
+ testnet は誰でも利用可能な動作の確認用のネットワークであり、予告なくリセットされる可能性があります。
35
+ 利用に必要な TPC は [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com) から取得できます。
36
+
37
+ * [faucet](https://testnet-faucet.tapyrus.dev.chaintope.com)
38
+
39
+ ### OpenID Connect を使った認証
40
+
41
+ Tapyrus API では [OpenID Connect](https://openid.net/connect/) を使った認証をサポートします。この認証を利用するためには、
42
+ 以下のステップを踏みます。
43
+
44
+ 1. 利用する OpenID Provider(OP) を選択する
45
+
46
+ 公開された OP から選択する方法と、自身で OP を構築する方法があります。独自のユーザデータベースがあり、そのユーザに Tapyrus API
47
+ を利用させる場合は後者の自身で OP を構築する方法を選択することになります。
48
+
49
+ 2. OAuth 2.0 Client Credential を入手する
50
+
51
+ 多くの公開された OP では、アプリケーションを登録して Client Credential を入手する必要があります。手順は利用する OP に従ってください。
52
+
53
+ 3. Access Token と ID Token を入手する
54
+
55
+ OpenID Connect に沿った認証を行い、 token エンドポイントから ID Token を入手します。
56
+
57
+ 4. Tapyrus API ユーザを作成する
58
+
59
+ 入手した Access Token と ID Token を Tapyrus API の [createUser API](https://doc.api.tapyrus.chaintope.com/#operation/createUser) へ送り、 Tapyrus API のユーザを作成します。
60
+
61
+ コード例を後述の Getting Started ドキュメントで解説していますので、そちらを参照してください。
62
+
63
+ ## Tapyrus API ユーザとウォレットについて
64
+
65
+ 認証により得たアクセストークンを使い、Tapyrus API ユーザを1つ作成する必要があります。
66
+ Tapyrus API の内部では、このユーザ1つにつき1つのウォレットが作成されます。
67
+ ウォレットではアセットの受け取りや、送付に必要な公開鍵と秘密鍵のペアが管理されており、同時にそれらのカギに紐づくアセットも管理されます。
68
+ そのため、認証を行ったユーザごとに独立したアセットの管理が可能になります。
69
+
70
+ # Getting Started
71
+
72
+ Getting Started ドキュメントでは実際のコード例を交えながらより具体的な Tapyrus API の利用法を解説しています。
73
+
74
+ * [Getting Started - [Javascript] Tapyrus API を利用するウェブアプリケーションの開発を学ぶ](https://github.com/chaintope/tapyrus-api-client-examples/tree/main/javascript/GettingStarted-ja.md)
75
+
76
+
77
+ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
78
+
79
+ - API version: 1.0.0
80
+ - Package version:
81
+ - Build package: org.openapitools.codegen.languages.RubyClientCodegen
82
+
83
+ ## Installation
84
+
85
+ ### Build a gem
86
+
87
+ To build the Ruby code into a gem:
88
+
89
+ ```shell
90
+ gem build tapyrus-api-client.gemspec
91
+ ```
92
+
93
+ Then either install the gem locally:
94
+
95
+ ```shell
96
+ gem install ./tapyrus-api-client-.gem
97
+ ```
98
+
99
+ (for development, run `gem install --dev ./tapyrus-api-client-.gem` to install the development dependencies)
100
+
101
+ or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
102
+
103
+ Finally add this to the Gemfile:
104
+
105
+ gem 'tapyrus-api-client', '~> '
106
+
107
+ ### Install from Git
108
+
109
+ 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:
110
+
111
+ gem 'tapyrus-api-client', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'
112
+
113
+ ### Include the Ruby code directly
114
+
115
+ Include the Ruby code directly using `-I` as follows:
116
+
117
+ ```shell
118
+ ruby -Ilib script.rb
119
+ ```
120
+
121
+ ## Getting Started
122
+
123
+ Please follow the [installation](#installation) procedure and then run the following code:
124
+
125
+ ```ruby
126
+ # Load the gem
127
+ require 'tapyrus-api-client'
128
+
129
+ # Setup authorization
130
+ TapyrusApiClient.configure do |config|end
131
+
132
+ api_instance = TapyrusApiClient::AddressApi.new
133
+
134
+ begin
135
+ #アドレスを生成して返します。
136
+ result = api_instance.create_address
137
+ p result
138
+ rescue TapyrusApiClient::ApiError => e
139
+ puts "Exception when calling AddressApi->create_address: #{e}"
140
+ end
141
+
142
+ ```
143
+
144
+ ## Documentation for API Endpoints
145
+
146
+ All URIs are relative to *https://ap-01.tapyrus.chaintope.com/api/v1*
147
+
148
+ Class | Method | HTTP request | Description
149
+ ------------ | ------------- | ------------- | -------------
150
+ *TapyrusApiClient::AddressApi* | [**create_address**](docs/AddressApi.md#create_address) | **POST** /addresses | アドレスを生成して返します。
151
+ *TapyrusApiClient::AddressApi* | [**get_addresses**](docs/AddressApi.md#get_addresses) | **GET** /addresses | これまで生成したアドレスを一覧にして返します。
152
+ *TapyrusApiClient::PaymentApi* | [**transfer**](docs/PaymentApi.md#transfer) | **POST** /payment | 資金の送金
153
+ *TapyrusApiClient::TimestampApi* | [**add_timestamp**](docs/TimestampApi.md#add_timestamp) | **POST** /timestamp | Timestampを記録
154
+ *TapyrusApiClient::TimestampApi* | [**get_timestamps**](docs/TimestampApi.md#get_timestamps) | **GET** /timestamps | Timestamp一覧表示
155
+ *TapyrusApiClient::TokenApi* | [**burn_token**](docs/TokenApi.md#burn_token) | **DELETE** /tokens/{token_id}/burn | トークンの焼却
156
+ *TapyrusApiClient::TokenApi* | [**get_tokens**](docs/TokenApi.md#get_tokens) | **GET** /tokens | トークンの総量取得
157
+ *TapyrusApiClient::TokenApi* | [**issue_token**](docs/TokenApi.md#issue_token) | **POST** /tokens/issue | トークンの新規発行
158
+ *TapyrusApiClient::TokenApi* | [**reissue_token**](docs/TokenApi.md#reissue_token) | **POST** /tokens/{token_id}/reissue | トークンの再発行
159
+ *TapyrusApiClient::TokenApi* | [**transfer_token**](docs/TokenApi.md#transfer_token) | **PUT** /tokens/{token_id}/transfer | トークンの送付
160
+ *TapyrusApiClient::UserApi* | [**create_user**](docs/UserApi.md#create_user) | **POST** /users | ユーザを作成します。
161
+ *TapyrusApiClient::UserApi* | [**get_user_info**](docs/UserApi.md#get_user_info) | **GET** /userinfo | ユーザの情報を返します。
162
+
163
+
164
+ ## Documentation for Models
165
+
166
+ - [TapyrusApiClient::AddTimestampRequest](docs/AddTimestampRequest.md)
167
+ - [TapyrusApiClient::CreateUserRequest](docs/CreateUserRequest.md)
168
+ - [TapyrusApiClient::GetAddressesResponse](docs/GetAddressesResponse.md)
169
+ - [TapyrusApiClient::GetTokensResponse](docs/GetTokensResponse.md)
170
+ - [TapyrusApiClient::IssueTokenRequest](docs/IssueTokenRequest.md)
171
+ - [TapyrusApiClient::PaymentRequest](docs/PaymentRequest.md)
172
+ - [TapyrusApiClient::PaymentResponse](docs/PaymentResponse.md)
173
+ - [TapyrusApiClient::ReissueTokenRequest](docs/ReissueTokenRequest.md)
174
+ - [TapyrusApiClient::TokenResponse](docs/TokenResponse.md)
175
+ - [TapyrusApiClient::TransferTokenRequest](docs/TransferTokenRequest.md)
176
+ - [TapyrusApiClient::UserinfoResponse](docs/UserinfoResponse.md)
177
+ - [TapyrusApiClient::UserinfoResponseBalances](docs/UserinfoResponseBalances.md)
178
+
179
+
180
+ ## Documentation for Authorization
181
+
182
+ All endpoints do not require authorization.
183
+
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task default: :spec
8
+ rescue LoadError
9
+ # no rspec available
10
+ end
@@ -0,0 +1,20 @@
1
+ # TapyrusApiClient::AddTimestampRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **content_hash** | **String** | | |
8
+ | **prefix** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'tapyrus-api-client'
14
+
15
+ instance = TapyrusApiClient::AddTimestampRequest.new(
16
+ content_hash: 9ccc644b03a88358a754962903a659a2d338767ee61674dde5434702a6256e6d,
17
+ prefix: app
18
+ )
19
+ ```
20
+
@@ -0,0 +1,142 @@
1
+ # TapyrusApiClient::AddressApi
2
+
3
+ All URIs are relative to *https://ap-01.tapyrus.chaintope.com/api/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**create_address**](AddressApi.md#create_address) | **POST** /addresses | アドレスを生成して返します。 |
8
+ | [**get_addresses**](AddressApi.md#get_addresses) | **GET** /addresses | これまで生成したアドレスを一覧にして返します。 |
9
+
10
+
11
+ ## create_address
12
+
13
+ > String create_address
14
+
15
+ アドレスを生成して返します。
16
+
17
+ 受金用のアドレス生成して返します。
18
+
19
+ ### Examples
20
+
21
+ ```ruby
22
+ require 'time'
23
+ require 'tapyrus-api-client'
24
+ # setup authorization
25
+ TapyrusApiClient.configure do |config|end
26
+
27
+ api_instance = TapyrusApiClient::AddressApi.new
28
+
29
+ begin
30
+ # アドレスを生成して返します。
31
+ result = api_instance.create_address
32
+ p result
33
+ rescue TapyrusApiClient::ApiError => e
34
+ puts "Error when calling AddressApi->create_address: #{e}"
35
+ end
36
+ ```
37
+
38
+ #### Using the create_address_with_http_info variant
39
+
40
+ This returns an Array which contains the response data, status code and headers.
41
+
42
+ > <Array(String, Integer, Hash)> create_address_with_http_info
43
+
44
+ ```ruby
45
+ begin
46
+ # アドレスを生成して返します。
47
+ data, status_code, headers = api_instance.create_address_with_http_info
48
+ p status_code # => 2xx
49
+ p headers # => { ... }
50
+ p data # => String
51
+ rescue TapyrusApiClient::ApiError => e
52
+ puts "Error when calling AddressApi->create_address_with_http_info: #{e}"
53
+ end
54
+ ```
55
+
56
+ ### Parameters
57
+
58
+ This endpoint does not need any parameter.
59
+
60
+ ### Return type
61
+
62
+ **String**
63
+
64
+ ### Authorization
65
+
66
+ No authorization required
67
+
68
+ ### HTTP request headers
69
+
70
+ - **Content-Type**: Not defined
71
+ - **Accept**: application/json
72
+
73
+
74
+ ## get_addresses
75
+
76
+ > <GetAddressesResponse> get_addresses(opts)
77
+
78
+ これまで生成したアドレスを一覧にして返します。
79
+
80
+ これまで生成したアドレスを一覧にして返します。
81
+
82
+ ### Examples
83
+
84
+ ```ruby
85
+ require 'time'
86
+ require 'tapyrus-api-client'
87
+ # setup authorization
88
+ TapyrusApiClient.configure do |config|end
89
+
90
+ api_instance = TapyrusApiClient::AddressApi.new
91
+ opts = {
92
+ per: 56, # Integer | 1ページあたりの件数
93
+ page: 56 # Integer | ページ番号
94
+ }
95
+
96
+ begin
97
+ # これまで生成したアドレスを一覧にして返します。
98
+ result = api_instance.get_addresses(opts)
99
+ p result
100
+ rescue TapyrusApiClient::ApiError => e
101
+ puts "Error when calling AddressApi->get_addresses: #{e}"
102
+ end
103
+ ```
104
+
105
+ #### Using the get_addresses_with_http_info variant
106
+
107
+ This returns an Array which contains the response data, status code and headers.
108
+
109
+ > <Array(<GetAddressesResponse>, Integer, Hash)> get_addresses_with_http_info(opts)
110
+
111
+ ```ruby
112
+ begin
113
+ # これまで生成したアドレスを一覧にして返します。
114
+ data, status_code, headers = api_instance.get_addresses_with_http_info(opts)
115
+ p status_code # => 2xx
116
+ p headers # => { ... }
117
+ p data # => <GetAddressesResponse>
118
+ rescue TapyrusApiClient::ApiError => e
119
+ puts "Error when calling AddressApi->get_addresses_with_http_info: #{e}"
120
+ end
121
+ ```
122
+
123
+ ### Parameters
124
+
125
+ | Name | Type | Description | Notes |
126
+ | ---- | ---- | ----------- | ----- |
127
+ | **per** | **Integer** | 1ページあたりの件数 | [optional] |
128
+ | **page** | **Integer** | ページ番号 | [optional] |
129
+
130
+ ### Return type
131
+
132
+ [**GetAddressesResponse**](GetAddressesResponse.md)
133
+
134
+ ### Authorization
135
+
136
+ No authorization required
137
+
138
+ ### HTTP request headers
139
+
140
+ - **Content-Type**: Not defined
141
+ - **Accept**: application/json
142
+