LoginSignup
14
6

More than 1 year has passed since last update.

LINE Blockchain APIを使ってみる

Posted at

はじめに

つい先日NFT総合マーケットプレイス「LINE NFT」 4月13日(水)に提供開始というプレスリリースが出てNFTマーケットβが正式リリースになるんだなあと思いました。
開発者としてはコンテンツ流通がどうこうというよりはAPIでどこまで触れるんだろうとかが気になります。

そこで今回はまずLINE Blockchainの概要の説明からサービスの作成、APIリクエストまでをざっとやってみようと思います。

LINE Blockchain

まず、LINEのBlockchainサービスを理解するためには以下のサービス名称をおさえておく必要があります。

  1. LINE Blockchain
  2. LINE Blockchain Developers
  3. LINE BITMAX Wallet

LINE Blockchain

LINE BlockchainはLINE社が運営しているプライベートチェーン・ネットワークです。

LINE Blockchain Developers

LINE Blockchainを基盤として、それを利用するために必要な各種機能を提供する開発者向けプラットフォーム。トークンの作成・鋳造・転送・焼却、ブロックチェーンのトランザクションの記録・取得およびサービス管理機能を提供しています。

LINE BITMAX Wallet

LINEの仮想通貨ウォレットサービス。LINE IDユーザーが保有するトークンを取得・転送できます。現時点でNTFマーケット機能がβ版で提供されています。LINE Blockchain Developers APIでLINE BITMAX Walletの各種機能を利用できます。

各種サービスの連携は下図のように説明されてます。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f35663063336232372d346566372d343464372d396564622d3436626431343234336233362e706e67.png

ざっくり言うとLINE Blockchainを利用した開発を始めるには、LINE Blockchain DevelopersにサインインしてLINE BlockchainのTestnetに参加するところからです。この時点でLINE BITMAX Walletの口座開設は必要ないはずですが、Mainetで実際にサービスを運用する際には必要になると思われます。

LINE Blockchain サービスを登録する

とりあえず体系的なことはこれくらいにしてAPIを使う手順をやっていきます。

LINE Blockchainサービスを作成する

LINE Developer Consoleにサインインして新しいプロバイダを作成します。利用規約にチェックをいれて同意ボタンをクリックすると以下のようなダイアログが表示されます。継続するためには申請ボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f30666338633564332d316638382d343139612d626539632d6566656630353532633666392e706e67.png

プロバイダが作成されると以下の画面からブロックチェーンサービスを選択します。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f64623231643934362d613733332d343865632d393962382d6263623033333437376665652e706e67.png

チャンネル名やメールアドレスなど必要な情報を入力します。必須項目をすべて入力してから「チャンネルを作成してLINE Blockchain Developersに移動」をクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f66313333323961362d363463312d343732312d386661332d3863633832326433613837662e706e67.png

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f33313766643534632d663232382d346362302d623563352d6435643836643835643466652e706e67.png

はじめてBlockchainチャンネルを作成する場合はLINE BlockchainのTestnetであるCashewに参加するための審査が行われます。審査結果は登録したメールアドレスに送信されるのでしばらく待ちます。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f36653030633961632d303266632d346661362d623137302d6434343937663634623536302e706e67.png

承認されると以下のようなメールが届いてLINE Blockchainサービスが利用可能になります。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f30372f31303835362f35353531313237632d336537642d343430612d396131352d3264643138336532386339342e706e67.png

作成したチャンネルのブロックチェーンタブをクリックするとLINE Blockchain Developersに移動というボタンがあるのでクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f31646530656633662d336332342d343433632d386462312d3264323534343765333838382e706e67.png

チェーンにCashewを指定。サービスカテゴリーとターゲット国・地域を任意に設定してサービス同意にチェックを入れ作成ボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f32353336613432642d633662642d343835612d393762312d3964633132663365623431642e706e67.png

作成されたサービスの確認画面が表示されます。ここで表示されるAPI KeyAPI Secretをメモ帳などに控えておきます。特にAPI Secretは今後再表示されないので忘れずにコピーしておきます。コピー後確認ボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f63663865376363352d356364632d343239612d623634632d3164323735326531356131642e706e67.png

Secretをコピーしたかを確認する入力画面が表示されるのでコピーしたAPI Secretを入力しOKボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f36633663616638322d633234382d343539612d393937362d6235376331656531313664302e706e67.png

任意のWallet名を入力して新しいWalletを作成します。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f33366533663030612d333063322d346261622d396439362d3839383065626135393137312e706e67.png

作成されたWalletのWallet Secretをコピーしておきます。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f34376561346665322d616161382d346432332d613066302d6438336434663465656134382e706e67.png

Wallet Secretを入力してOKボタンをクリックします。ここで作成したWalletは今後Owner Wallet受信Walletとも呼ばれます。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f64666666366537302d356661642d343461632d383662392d6163346330326439623837382e706e67.png

Service Tokenを作成します。任意のToken名Tokenシンボルを入力して最下段の作成ボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f63393433633133332d633939642d346637642d626534312d3434323233633565393730342e706e67.png

Walletを作成したときにコピーしたWallet Secretを入力してOKボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f66386638383235372d653833632d343761632d616238302d3564663337656632633632392e706e67.png

Service Tokenが作成されました。確認ボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f34383332623466622d373834392d343332652d623064632d3930343631323933366136612e706e67.png

Item Token用の契約IDを作成します。作成ボタンをクリックします。

スクリーンショット 2022-03-27 15.47.12.png (80.2 kB)

Walletを作成したときにコピーしたWallet Secretを入力してOKボタンをクリックします。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f36313939352f30343635383636372d386134352d656364652d616262362d3662313836613132333632322e706e67.png

Item Token用の契約IDが作成されました。コピーしてから確認ボタンをクリックします。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f65336466356365612d653433312d343262622d613135362d6334333739303732316331362e706e67.png

これでブロックチェーンサービスが作成できました。

68747470733a2f2f696d672e6573612e696f2f75706c6f6164732f70726f64756374696f6e2f6174746163686d656e74732f333530352f323032322f30332f32372f31303835362f65336466373865382d386435372d343832632d613737342d3265653663376365393430342e706e67.png

LINE Blockchain APIを叩いてみる

APIの使い方はAPIリファレンスに記載されています。これに従ってcurlなどで叩いてもいいのですが、認証の手続きがセキュアでやや複雑なため今回は簡単にJavaScript SDKを使って基本的なAPIにアクセスしてみます。

LINE Blockchain Developers SDK for JavaScriptを使ってみる

まず環境を準備してSDKをインストールします。

mkdir lbd-sdk && cd $_
yarn init
yarn add -D typescript ts-node
yarn add @line/lbd-sdk-js
yarn run tsc --init
mkdir src

JavaScriptライブラリガイドに掲載されているサンプルコードを元にサーバー時刻を取得するコードを書きます。

vi src/index.ts
src/index.ts
import * as devSdk from '@line/lbd-sdk-js';

const BASE_URL = 'https://test-api.blockchain.line.me';
const SERVICE_API_KEY = 'your own service api-key';
const SERVICE_API_SECRET = 'your own service api-secret';

const main = async () => {
  const httpClient = new devSdk.HttpClient(BASE_URL, SERVICE_API_KEY, SERVICE_API_SECRET);
  const res = await httpClient.time();
  console.log(res);
};

main();

SERVICE_API_KEYSERVICE_API_SECRETの値はサービス作成のときに控えたAPI KeyAPI Secretに置き換えてください。

実行してみます。

yarn run ts-node src/index.ts

{
  responseTime: 1648366198361,
  statusCode: 1000,
  statusMessage: 'Success'
}
✨  Done in 1.70s.

正常にサーバー時刻が取得できました。SDKを使うと簡単ですね。

おわりに

Blockchainサービスの登録方法は他のLINEサービスに比べて複雑だと思いますが、そもそもBlockchain開発自体の複雑性を考えるとBlockchain networkの参加からWalletの作成、トークンの発行までがすべてGUIで設定できるのはBlockchain初心者には易しいほうだと感じます。これからBlockchainを学びたいという初学者には開発のながれをざっと体験できるわかりやすい開発環境かもしれません。

今回はLINE Blockchainサービスを登録してSDKを使ってAPIにアクセスしてみるところまでやってみました。次回はTokenの取得や転送など具体的なAPIの使い方を探ってみようと思います。

14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6