tapyrus_api
v1.0.5
Published
__chaintope__Tapyrus__REST_API__Payment_TPC_Tapyrus_Coin__Timestamp__Token_NFTTapyrus___Chaintope__https__www_chaintope_com_chaintope_blockchain_protocol___chaintope_tapyrus_core___github_https__github_com_chaintope_tapyrus_core_Tapyrus_API_Tapyrus_API__R
Downloads
4
Readme
tapyrus_api
TapyrusApi - JavaScript client for 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: 1.0.4
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen
Installation
For Node.js
npm
To publish the library as a npm, please follow the procedure in "Publishing npm packages".
Then install it via:
npm install tapyrus_api --save
Finally, you need to build the module:
npm run build
Local development
To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json
(and this README). Let's call this JAVASCRIPT_CLIENT_DIR
. Then run:
npm install
Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR
:
npm link
To use the link you just defined in your project, switch to the directory you want to use your tapyrus_api from, and run:
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
Finally, you need to build the module:
npm run build
git
If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:
npm install GIT_USER_ID/GIT_REPO_ID --save
For browser
The library also works in the browser environment via npm and browserify. After following
the above steps with Node.js and installing browserify with npm install -g browserify
,
perform the following (assuming main.js is your entry file):
browserify main.js > bundle.js
Then include bundle.js in the HTML pages.
Webpack Configuration
Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:
module: {
rules: [
{
parser: {
amd: false
}
}
]
}
Getting Started
Please follow the installation instruction and execute the following JS code:
var TapyrusApi = require('tapyrus_api');
var defaultClient = TapyrusApi.ApiClient.instance;
var api = new TapyrusApi.AddressApi()
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.createAddress(callback);
Documentation for API Endpoints
All URIs are relative to https://ap-01.tapyrus.chaintope.com/api/v1
Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- TapyrusApi.AddressApi | createAddress | POST /addresses | アドレスを生成して返します。 TapyrusApi.AddressApi | getAddresses | GET /addresses | これまで生成したアドレスを一覧にして返します。 TapyrusApi.PaymentApi | transfer | POST /payment | 資金の送金 TapyrusApi.TimestampApi | addTimestamp | POST /timestamp | Timestampを記録 TapyrusApi.TimestampApi | getTimestamps | GET /timestamps | Timestamp一覧表示 TapyrusApi.TokenApi | burnToken | DELETE /tokens/{token_id}/burn | トークンの焼却 TapyrusApi.TokenApi | getTokens | GET /tokens | トークンの総量取得 TapyrusApi.TokenApi | issueToken | POST /tokens/issue | トークンの新規発行 TapyrusApi.TokenApi | reissueToken | POST /tokens/{token_id}/reissue | トークンの再発行 TapyrusApi.TokenApi | transferToken | PUT /tokens/{token_id}/transfer | トークンの送付 TapyrusApi.UserApi | createUser | POST /users | ユーザを作成します。 TapyrusApi.UserApi | getUserInfo | GET /userinfo | ユーザの情報を返します。
Documentation for Models
- TapyrusApi.AddTimestampRequest
- TapyrusApi.CreateUserRequest
- TapyrusApi.GetAddressesResponse
- TapyrusApi.GetTimestampsResponse
- TapyrusApi.GetTokensResponse
- TapyrusApi.IssueTokenRequest
- TapyrusApi.PaymentRequest
- TapyrusApi.PaymentResponse
- TapyrusApi.ReissueTokenRequest
- TapyrusApi.TokenResponse
- TapyrusApi.TransferTokenRequest
- TapyrusApi.UserinfoResponse
- TapyrusApi.UserinfoResponseBalances
Documentation for Authorization
All endpoints do not require authorization.