tapyrus-api-client 0 → 1.1.0beta4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +11 -9
- data/README.md +54 -52
- data/docs/AddTimestampRequest.md +3 -1
- data/docs/AddTimestampResponse.md +36 -0
- data/docs/AddressApi.md +15 -10
- data/docs/ConsumeTrackingRequest.md +18 -0
- data/docs/GetTimestampResponse.md +36 -0
- data/docs/PurposeAddressRequest.md +18 -0
- data/docs/SupplyTrackingRequest.md +20 -0
- data/docs/TimestampApi.md +84 -16
- data/docs/TimestampType.md +15 -0
- data/docs/TokenApi.md +1 -1
- data/docs/TokenResponse.md +4 -4
- data/docs/TrackingApi.md +344 -0
- data/docs/TrackingDestination.md +20 -0
- data/docs/TrackingResponse.md +18 -0
- data/docs/TrackingSubject.md +20 -0
- data/docs/TrackingSubjectMerkleRoot.md +22 -0
- data/docs/TrackingTrace.md +40 -0
- data/docs/TrackingTracesResponse.md +44 -0
- data/docs/TransportTrackingRequest.md +18 -0
- data/docs/UserApi.md +1 -1
- data/git_push.sh +3 -4
- data/lib/tapyrus-api-client/api/address_api.rb +25 -11
- data/lib/tapyrus-api-client/api/timestamp_api.rb +85 -17
- data/lib/tapyrus-api-client/api/token_api.rb +15 -6
- data/lib/tapyrus-api-client/api/tracking_api.rb +348 -0
- data/lib/tapyrus-api-client/api/user_api.rb +7 -4
- data/lib/tapyrus-api-client/api_client.rb +6 -6
- data/lib/tapyrus-api-client/api_error.rb +3 -3
- data/lib/tapyrus-api-client/configuration.rb +23 -6
- data/lib/tapyrus-api-client/models/add_timestamp_request.rb +16 -7
- data/lib/tapyrus-api-client/models/add_timestamp_response.rb +299 -0
- data/lib/tapyrus-api-client/models/consume_tracking_request.rb +226 -0
- data/lib/tapyrus-api-client/models/create_user_request.rb +3 -3
- data/lib/tapyrus-api-client/models/get_addresses_response.rb +3 -3
- data/lib/tapyrus-api-client/models/get_timestamp_response.rb +337 -0
- data/lib/tapyrus-api-client/models/get_tokens_response.rb +3 -3
- data/lib/tapyrus-api-client/models/issue_token_request.rb +3 -3
- data/lib/tapyrus-api-client/models/purpose_address_request.rb +218 -0
- data/lib/tapyrus-api-client/models/reissue_token_request.rb +3 -3
- data/lib/tapyrus-api-client/models/supply_tracking_request.rb +241 -0
- data/lib/tapyrus-api-client/models/timestamp_type.rb +37 -0
- data/lib/tapyrus-api-client/models/token_response.rb +11 -10
- data/lib/tapyrus-api-client/models/{payment_request.rb → tracking_destination.rb} +15 -32
- data/lib/tapyrus-api-client/models/{payment_response.rb → tracking_response.rb} +12 -6
- data/lib/tapyrus-api-client/models/tracking_subject.rb +234 -0
- data/lib/tapyrus-api-client/models/tracking_subject_merkle_root.rb +238 -0
- data/lib/tapyrus-api-client/models/tracking_trace.rb +321 -0
- data/lib/tapyrus-api-client/models/tracking_traces_response.rb +343 -0
- data/lib/tapyrus-api-client/models/transfer_token_request.rb +3 -3
- data/lib/tapyrus-api-client/models/transport_tracking_request.rb +226 -0
- data/lib/tapyrus-api-client/models/userinfo_response.rb +3 -3
- data/lib/tapyrus-api-client/models/userinfo_response_balances.rb +3 -3
- data/lib/tapyrus-api-client/version.rb +4 -4
- data/lib/tapyrus-api-client.rb +17 -6
- data/spec/api/address_api_spec.rb +7 -5
- data/spec/api/timestamp_api_spec.rb +19 -7
- data/spec/api/token_api_spec.rb +3 -3
- data/spec/api/tracking_api_spec.rb +95 -0
- data/spec/api/user_api_spec.rb +3 -3
- data/spec/api_client_spec.rb +5 -5
- data/spec/configuration_spec.rb +6 -6
- data/spec/models/add_timestamp_request_spec.rb +9 -3
- data/spec/models/add_timestamp_response_spec.rb +88 -0
- data/spec/models/consume_tracking_request_spec.rb +34 -0
- data/spec/models/create_user_request_spec.rb +3 -3
- data/spec/models/get_addresses_response_spec.rb +3 -3
- data/spec/models/get_timestamp_response_spec.rb +92 -0
- data/spec/models/get_tokens_response_spec.rb +3 -3
- data/spec/models/issue_token_request_spec.rb +3 -3
- data/spec/models/purpose_address_request_spec.rb +34 -0
- data/spec/models/reissue_token_request_spec.rb +3 -3
- data/spec/models/supply_tracking_request_spec.rb +40 -0
- data/spec/models/timestamp_type_spec.rb +28 -0
- data/spec/models/token_response_spec.rb +4 -4
- data/spec/models/tracking_destination_spec.rb +40 -0
- data/spec/models/tracking_response_spec.rb +34 -0
- data/spec/models/tracking_subject_merkle_root_spec.rb +46 -0
- data/spec/models/tracking_subject_spec.rb +40 -0
- data/spec/models/tracking_trace_spec.rb +100 -0
- data/spec/models/tracking_traces_response_spec.rb +112 -0
- data/spec/models/transfer_token_request_spec.rb +3 -3
- data/spec/models/transport_tracking_request_spec.rb +34 -0
- data/spec/models/userinfo_response_balances_spec.rb +3 -3
- data/spec/models/userinfo_response_spec.rb +3 -3
- data/spec/spec_helper.rb +3 -3
- data/tapyrus-api-client.gemspec +5 -5
- metadata +68 -48
- data/docs/PaymentApi.md +0 -76
- data/docs/PaymentRequest.md +0 -22
- data/docs/PaymentResponse.md +0 -18
- data/lib/tapyrus-api-client/api/payment_api.rb +0 -83
- data/spec/api/payment_api_spec.rb +0 -47
- data/spec/models/payment_request_spec.rb +0 -46
- data/spec/models/payment_response_spec.rb +0 -34
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -0,0 +1,226 @@
|
|
1
|
+
=begin
|
2
|
+
#Tapyrus API
|
3
|
+
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module TapyrusApiClient
|
17
|
+
class TransportTrackingRequest
|
18
|
+
# モノの移動先を表します。
|
19
|
+
attr_accessor :destinations
|
20
|
+
|
21
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
22
|
+
def self.attribute_map
|
23
|
+
{
|
24
|
+
:'destinations' => :'destinations'
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
# Returns all the JSON keys this model knows about
|
29
|
+
def self.acceptable_attributes
|
30
|
+
attribute_map.values
|
31
|
+
end
|
32
|
+
|
33
|
+
# Attribute type mapping.
|
34
|
+
def self.openapi_types
|
35
|
+
{
|
36
|
+
:'destinations' => :'Array<TrackingDestination>'
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
# List of attributes with nullable: true
|
41
|
+
def self.openapi_nullable
|
42
|
+
Set.new([
|
43
|
+
])
|
44
|
+
end
|
45
|
+
|
46
|
+
# Initializes the object
|
47
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
48
|
+
def initialize(attributes = {})
|
49
|
+
if (!attributes.is_a?(Hash))
|
50
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `TapyrusApiClient::TransportTrackingRequest` initialize method"
|
51
|
+
end
|
52
|
+
|
53
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
54
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
55
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
56
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `TapyrusApiClient::TransportTrackingRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
57
|
+
end
|
58
|
+
h[k.to_sym] = v
|
59
|
+
}
|
60
|
+
|
61
|
+
if attributes.key?(:'destinations')
|
62
|
+
if (value = attributes[:'destinations']).is_a?(Array)
|
63
|
+
self.destinations = value
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
69
|
+
# @return Array for valid properties with the reasons
|
70
|
+
def list_invalid_properties
|
71
|
+
invalid_properties = Array.new
|
72
|
+
if @destinations.nil?
|
73
|
+
invalid_properties.push('invalid value for "destinations", destinations cannot be nil.')
|
74
|
+
end
|
75
|
+
|
76
|
+
invalid_properties
|
77
|
+
end
|
78
|
+
|
79
|
+
# Check to see if the all the properties in the model are valid
|
80
|
+
# @return true if the model is valid
|
81
|
+
def valid?
|
82
|
+
return false if @destinations.nil?
|
83
|
+
true
|
84
|
+
end
|
85
|
+
|
86
|
+
# Checks equality by comparing each attribute.
|
87
|
+
# @param [Object] Object to be compared
|
88
|
+
def ==(o)
|
89
|
+
return true if self.equal?(o)
|
90
|
+
self.class == o.class &&
|
91
|
+
destinations == o.destinations
|
92
|
+
end
|
93
|
+
|
94
|
+
# @see the `==` method
|
95
|
+
# @param [Object] Object to be compared
|
96
|
+
def eql?(o)
|
97
|
+
self == o
|
98
|
+
end
|
99
|
+
|
100
|
+
# Calculates hash code according to all attributes.
|
101
|
+
# @return [Integer] Hash code
|
102
|
+
def hash
|
103
|
+
[destinations].hash
|
104
|
+
end
|
105
|
+
|
106
|
+
# Builds the object from hash
|
107
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
108
|
+
# @return [Object] Returns the model itself
|
109
|
+
def self.build_from_hash(attributes)
|
110
|
+
new.build_from_hash(attributes)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Builds the object from hash
|
114
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
115
|
+
# @return [Object] Returns the model itself
|
116
|
+
def build_from_hash(attributes)
|
117
|
+
return nil unless attributes.is_a?(Hash)
|
118
|
+
self.class.openapi_types.each_pair do |key, type|
|
119
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
120
|
+
self.send("#{key}=", nil)
|
121
|
+
elsif type =~ /\AArray<(.*)>/i
|
122
|
+
# check to ensure the input is an array given that the attribute
|
123
|
+
# is documented as an array but the input is not
|
124
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
125
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
126
|
+
end
|
127
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
128
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
self
|
133
|
+
end
|
134
|
+
|
135
|
+
# Deserializes the data based on type
|
136
|
+
# @param string type Data type
|
137
|
+
# @param string value Value to be deserialized
|
138
|
+
# @return [Object] Deserialized data
|
139
|
+
def _deserialize(type, value)
|
140
|
+
case type.to_sym
|
141
|
+
when :Time
|
142
|
+
Time.parse(value)
|
143
|
+
when :Date
|
144
|
+
Date.parse(value)
|
145
|
+
when :String
|
146
|
+
value.to_s
|
147
|
+
when :Integer
|
148
|
+
value.to_i
|
149
|
+
when :Float
|
150
|
+
value.to_f
|
151
|
+
when :Boolean
|
152
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
153
|
+
true
|
154
|
+
else
|
155
|
+
false
|
156
|
+
end
|
157
|
+
when :Object
|
158
|
+
# generic object (usually a Hash), return directly
|
159
|
+
value
|
160
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
161
|
+
inner_type = Regexp.last_match[:inner_type]
|
162
|
+
value.map { |v| _deserialize(inner_type, v) }
|
163
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
164
|
+
k_type = Regexp.last_match[:k_type]
|
165
|
+
v_type = Regexp.last_match[:v_type]
|
166
|
+
{}.tap do |hash|
|
167
|
+
value.each do |k, v|
|
168
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
else # model
|
172
|
+
# models (e.g. Pet) or oneOf
|
173
|
+
klass = TapyrusApiClient.const_get(type)
|
174
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
# Returns the string representation of the object
|
179
|
+
# @return [String] String presentation of the object
|
180
|
+
def to_s
|
181
|
+
to_hash.to_s
|
182
|
+
end
|
183
|
+
|
184
|
+
# to_body is an alias to to_hash (backward compatibility)
|
185
|
+
# @return [Hash] Returns the object in the form of hash
|
186
|
+
def to_body
|
187
|
+
to_hash
|
188
|
+
end
|
189
|
+
|
190
|
+
# Returns the object in the form of hash
|
191
|
+
# @return [Hash] Returns the object in the form of hash
|
192
|
+
def to_hash
|
193
|
+
hash = {}
|
194
|
+
self.class.attribute_map.each_pair do |attr, param|
|
195
|
+
value = self.send(attr)
|
196
|
+
if value.nil?
|
197
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
198
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
199
|
+
end
|
200
|
+
|
201
|
+
hash[param] = _to_hash(value)
|
202
|
+
end
|
203
|
+
hash
|
204
|
+
end
|
205
|
+
|
206
|
+
# Outputs non-array value in the form of hash
|
207
|
+
# For object, use to_hash. Otherwise, just return the value
|
208
|
+
# @param [Object] value Any valid value
|
209
|
+
# @return [Hash] Returns the value in the form of hash
|
210
|
+
def _to_hash(value)
|
211
|
+
if value.is_a?(Array)
|
212
|
+
value.compact.map { |v| _to_hash(v) }
|
213
|
+
elsif value.is_a?(Hash)
|
214
|
+
{}.tap do |hash|
|
215
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
216
|
+
end
|
217
|
+
elsif value.respond_to? :to_hash
|
218
|
+
value.to_hash
|
219
|
+
else
|
220
|
+
value
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
end
|
225
|
+
|
226
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
module TapyrusApiClient
|
14
|
-
VERSION = ''
|
14
|
+
VERSION = '1.1.0beta4'
|
15
15
|
end
|
data/lib/tapyrus-api-client.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -18,23 +18,34 @@ require 'tapyrus-api-client/configuration'
|
|
18
18
|
|
19
19
|
# Models
|
20
20
|
require 'tapyrus-api-client/models/add_timestamp_request'
|
21
|
+
require 'tapyrus-api-client/models/add_timestamp_response'
|
22
|
+
require 'tapyrus-api-client/models/consume_tracking_request'
|
21
23
|
require 'tapyrus-api-client/models/create_user_request'
|
22
24
|
require 'tapyrus-api-client/models/get_addresses_response'
|
25
|
+
require 'tapyrus-api-client/models/get_timestamp_response'
|
23
26
|
require 'tapyrus-api-client/models/get_tokens_response'
|
24
27
|
require 'tapyrus-api-client/models/issue_token_request'
|
25
|
-
require 'tapyrus-api-client/models/
|
26
|
-
require 'tapyrus-api-client/models/payment_response'
|
28
|
+
require 'tapyrus-api-client/models/purpose_address_request'
|
27
29
|
require 'tapyrus-api-client/models/reissue_token_request'
|
30
|
+
require 'tapyrus-api-client/models/supply_tracking_request'
|
31
|
+
require 'tapyrus-api-client/models/timestamp_type'
|
28
32
|
require 'tapyrus-api-client/models/token_response'
|
33
|
+
require 'tapyrus-api-client/models/tracking_destination'
|
34
|
+
require 'tapyrus-api-client/models/tracking_response'
|
35
|
+
require 'tapyrus-api-client/models/tracking_subject'
|
36
|
+
require 'tapyrus-api-client/models/tracking_subject_merkle_root'
|
37
|
+
require 'tapyrus-api-client/models/tracking_trace'
|
38
|
+
require 'tapyrus-api-client/models/tracking_traces_response'
|
29
39
|
require 'tapyrus-api-client/models/transfer_token_request'
|
40
|
+
require 'tapyrus-api-client/models/transport_tracking_request'
|
30
41
|
require 'tapyrus-api-client/models/userinfo_response'
|
31
42
|
require 'tapyrus-api-client/models/userinfo_response_balances'
|
32
43
|
|
33
44
|
# APIs
|
34
45
|
require 'tapyrus-api-client/api/address_api'
|
35
|
-
require 'tapyrus-api-client/api/payment_api'
|
36
46
|
require 'tapyrus-api-client/api/timestamp_api'
|
37
47
|
require 'tapyrus-api-client/api/token_api'
|
48
|
+
require 'tapyrus-api-client/api/tracking_api'
|
38
49
|
require 'tapyrus-api-client/api/user_api'
|
39
50
|
|
40
51
|
module TapyrusApiClient
|
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -34,7 +34,8 @@ describe 'AddressApi' do
|
|
34
34
|
|
35
35
|
# unit tests for create_address
|
36
36
|
# アドレスを生成して返します。
|
37
|
-
#
|
37
|
+
# 受金用のアドレスを生成して返します。 任意で`purpose`を設定し、生成するアドレスの種類を指定できます。未指定の場合、汎用的に使うアドレスを生成します。 - `purpose` に `general` と入力する、または未指定の場合、汎用的に使うアドレスを生成します。 - `purpose`に`tracking`と入力すると、トラッキングに使用するアドレスを生成します。
|
38
|
+
# @param purpose_address_request
|
38
39
|
# @param [Hash] opts the optional parameters
|
39
40
|
# @return [String]
|
40
41
|
describe 'create_address test' do
|
@@ -45,10 +46,11 @@ describe 'AddressApi' do
|
|
45
46
|
|
46
47
|
# unit tests for get_addresses
|
47
48
|
# これまで生成したアドレスを一覧にして返します。
|
48
|
-
#
|
49
|
+
# これまで生成したアドレスを一覧にして返します。 任意で`purpose`を設定し、取得するアドレスの種類を指定できます。未指定の場合、汎用的に使うアドレスのみ取得します。 - `purpose`に`general`と入力すると、生成したアドレスのうち、汎用的に使うアドレスのみ取得します。 - `purpose`に`all`と入力すると、生成したアドレスすべて取得します。 - `purpose`に`tracking`と入力すると、生成したアドレスのうち、トラッキングに使用されているアドレスを取得します。
|
49
50
|
# @param [Hash] opts the optional parameters
|
50
51
|
# @option opts [Integer] :per 1ページあたりの件数
|
51
52
|
# @option opts [Integer] :page ページ番号
|
53
|
+
# @option opts [String] :purpose 取得したいアドレス
|
52
54
|
# @return [GetAddressesResponse]
|
53
55
|
describe 'get_addresses test' do
|
54
56
|
it 'should work' do
|
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
#Tapyrus API
|
3
3
|
|
4
|
-
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。
|
4
|
+
## イントロダクション これは chaintope 社が開発するブロックチェーン Tapyrus を使ったブロックチェーンに関係する機能を簡単に利用するための REST API です。 現在以下のユースケースをサポートしています。これは今後も拡張されていきます。 * Timestamp: 任意のデータをタイムスタンプとしてブロックチェーンに記録 * Token: 新しいトークンの発行、送金、焼却。NFTも利用可能 * Tracking: トレーサビリティを目的としてたモノの移動履歴を記録 Tapyrus ブロックチェーンについては以下の情報を参照してください。 * [Chaintope のブロックチェーンプロトコル](https://www.chaintope.com/chaintope-blockchain-protocol/) * [chaintope/tapyrus-core - github](https://github.com/chaintope/tapyrus-core) ## 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](https://en.wikipedia.org/wiki/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がご利用いただけます。
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.
|
6
|
+
The version of the OpenAPI document: 1.1.0beta4
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.4.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -34,21 +34,33 @@ describe 'TimestampApi' do
|
|
34
34
|
|
35
35
|
# unit tests for add_timestamp
|
36
36
|
# Timestampを記録
|
37
|
-
# ブロックチェーンにハッシュ値をタイムスタンプとして記録します。
|
37
|
+
# ブロックチェーンにハッシュ値をタイムスタンプとして記録します。 現在、記録方法として2種類の`type`(`simple`(デフォルト)、`trackable`)をサポートしています。 `simple`を指定した場合は、ハッシュ値がトランザクション内のOP_RETURNアウトプットに直接埋め込まれます。 単純に値をブロックチェーンに記録する場合は`simple`の利用を推奨します。 `trackable`を指定した場合は、ハッシュ値を組み合わせたPay to Contractアドレスが生成され、ハッシュ値は間接的に記録されます。 アドレスは、Timestampの戻り値の1つである`payment_base`と指定されたコンテンツハッシュを使って次のように計算されます。 ``` アドレスの公開鍵 = payment_base + SHA256(payment_base || コンテンツハッシュ)G ``` ※Gは楕円曲線の生成元。公開鍵からアドレス(P2PKH)を導出すると、戻り値の1つである`p2c_address`と合致します。 `trackable`を使用するとハッシュ値は間接的に記録されますが、ブロックチェーン上で使用可能なアセットとして管理できます。 そのため、ある記録を持つデータを更新する場合に、このアセットを使用して新しい`trackable`アセットを作成することで、 記録の更新、最新性を表現することが可能になります。未使用な記録のみ`latest`がtrueになります。
|
38
38
|
# @param [Hash] opts the optional parameters
|
39
|
-
# @option opts [AddTimestampRequest] :add_timestamp_request `content_hash`, `prefix`
|
40
|
-
# @return [
|
39
|
+
# @option opts [AddTimestampRequest] :add_timestamp_request `content_hash`, `prefix`, `type` を受け取り、ブロックチェーンにハッシュ値をタイムスタンプとして記録します。
|
40
|
+
# @return [AddTimestampResponse]
|
41
41
|
describe 'add_timestamp test' do
|
42
42
|
it 'should work' do
|
43
43
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
+
# unit tests for get_timestamp
|
48
|
+
# Timestamp表示
|
49
|
+
# タイムスタンプ ID に対応する Timestamp を表示します。
|
50
|
+
# @param id Timestamp id。`Timestamp を記録 API(POST /timestamps)` の返り値の JSON の `id` 要素の値です。
|
51
|
+
# @param [Hash] opts the optional parameters
|
52
|
+
# @return [GetTimestampResponse]
|
53
|
+
describe 'get_timestamp test' do
|
54
|
+
it 'should work' do
|
55
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
47
59
|
# unit tests for get_timestamps
|
48
60
|
# Timestamp一覧表示
|
49
61
|
# ブロックチェーンに記録したタイムスタンプを取得し、`content_hash`,`prefix`,`txid`を一覧で表示します。
|
50
62
|
# @param [Hash] opts the optional parameters
|
51
|
-
# @return [Array<
|
63
|
+
# @return [Array<GetTimestampResponse>]
|
52
64
|
describe 'get_timestamps test' do
|
53
65
|
it 'should work' do
|
54
66
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|