本日はLINE Blockchain Platformをご紹介します。
LINE Blockchain PlatformはあなたのサービスとLINE Blockchainの間にあります。
一番下にLINE Blockchainがあります。
LINEが使っているAlder ChainやBamboo Chainを聞いたことがある方もいらっしゃるでしょう。
今年6月より強力で安定した新しいバージョンのLINE Blockchainを公開しました
2つのネットワークを運営しています。TestnetのCashewとMainnetのDaphneです。でもこの2つはこのセッションではお話しません。
LINE Blockchain Platformにフォーカスします。
LINE Blockchain の上に LINE Blockchain Frameworkがあります。
DaemonとGRPCサービスのコレクションです。
チェーンデータに対する強力なクエリーや安定したトランザクション管理、秘密鍵の安全な取り扱いなどがあります。しかしこれについても取り上げません。これらは内部の話で、アクセスする必要はないですしアクセスすることもできません。
LINE Blockchain Developersはサードパーティーの分散型アプリ向けのフルマネージドサービスです。つまりブロックチェーンサービスです。
BITMAX WalletはLINEユーザー向けのユーザーフレンドリーなウォレットウェブアプリケーションです。LINE Blockchain Developersで作成されたトークンがここに表示されます。
LINE Blockchain ExplorerはLINE Blockchain ViewerのWebアプリケーションです。ブロック、トランザクション、アドレスなどに関する情報を見つけることができます。開発中のデバッグにも役立ちます。
このプラットフォームを利用して独自のブロックチェーンサービスを簡単に構築できます。
BITMAX WalletはLINEのカストディアルウォレットです。
カストディアルという用語は、LINEがすべて秘密鍵を安全に管理していることを意味します。したがって秘密鍵を失う心配がありません。
ブラウザ拡張機能をインストールし、シードフレーズを自分で保持するというのは、ブロックチェーンを大量に採用するハードルになると考えました。
LINE Blockchain Platformではプレーンなウェブブラウザでトランザクションを許可できます。これをデモンストレーションしていきます。
名前が示すように、BITMAX WalletはBITMAXと緊密に連携します。
BITMAXはLINEの暗号資産売買サービスです。ここでLINKを売買することができます。
すべてのBITMAXユーザーはBITMAX Walletユーザーでもありますが、その逆はありません。
BITMAXアカウントにLINKがいくらかある場合ここに表示されます。こちらからLINKリワードをLINKに交換できます。
LINKリワードプログラムに興味がある方は、こちらのリンクでご確認ください。
ユーザーはLINEアカウントで簡単にログインできます。Cashew、Daphneを選択できます。
全サービスのトークンをリスト化し、トークンを簡単にラインフレンズに送ることができます。
次はLINE Blockchain Developersについてです。
LINE Blockcain DevelopersはLINE Blockchain 向けの高レベルのRESTful APIサービスです。
ブロックチェーンノードを実行する必要がありません。スマートコントラクトを作成して展開する必要もありません。新しい言語やツールチェーンの学習に費やす必要もありません。RESTful APIですぐにお気に入りの言語で使うことができます。
またコンソールUIを提供しています。サービスのAPIとSecretが割り当てられます。紛失した場合コチラでリセットできます。
そして次のような運用タスクをConsoleで直接できます。
- サービスウォレットの管理
- ミント
- トークン転送
この内容は包括的なドキュメントを提供しています。
リファレンスやサンプルコードがあります。
ビジネスに必要な主要な機能を提供します。サービストークンはサービスの通貨のようなものです。ERC20に似ています。
作成ミント残高書き込みなどを実行できます。
Item tokensは、NFT、代替不能なトークンです。
またブロックチェーントランザクションのコールバックURLも提供しています。
本日のDemoはLINE Blockchainコーヒーサービスを使います。
2つのトークンを作成します。LBCC(LINE Blockchain Coffee Coin)。アメリカーノ1杯を200LBCCで購入できます。
もう一つリワードトークンとしてのLBCR。アメリカーノを1杯購入するとLBCCが1つもらえます。5つのLBCRでアメリカーノ1杯と交換できます。
ではやってみましょう。
最初に必要なのはチャンネルの作成です。チャンネルを作成するとチャンネルIDとチャンネルシークレットが提供されます。
ブロックチェーンチャンネルを選択します。
Cashewパートナーアカウントを申請する必要があります。
Cashewは無料のテストネットです。世界中で利用できますが、ダフネは日本のみです。
チャネルが作成されたあとこのようなメールが届きます。
ブロックチェーンタイプのチャンネルができました。
チャネルが作成されたあとブロックチェーンサービスを作成します。
チャネルIDとチャネルSecretはこちらです。
ブロックチェーンのタブに行きます。
ここからはLINE Blockchain Developers Consoleの一部になります。
これでService ID、API Key、API Secretができました。
APIシークレットはこの1回しか表示されません。ぜひバックアップを取ってください。
サービスが作成できたらユーザーウォレットとは異なるサービスウォレットが必要になります。これは、サービスオペレーション用です。例えばさービスウォレットを使ってトークンをミントできます。
最大20のサービスウォレットが作成できます。
ここでは新しくOwnerのウォレットを作りましょう。
ウォレットのシークレットをなくさないでください。
さて、LINE Blockchain Coffee Coinを作成しましょう。
サービスの通貨のようなものです。
初めての供給の場合、単位に気をつけてください。1000000分の1なのでゼロを6つ足してください。
複数のウォレットがある場合このトークンのオーナーになるウォレットを選択できます。
これでサービストークンの識別子であるコントラクトIDが取得できました。
ノンファンジブルリワードトークンをつくてみましょう。
ノンファンジブルを選びます。
複数のアイテムトークンを作成できますが全てこのContractIDを共有しています。代わりに、Token Typeがあります。
これらはブロックチェーンの観点からはただのトランザクションです。Exploreから見に行くことができます。
TX Hash
Explorerでターゲットネットワークを選んで
テストネットはCashewを使っています。Cashewは各サービスにユーザーは最大100人までの制限があります。
ユーザーをコンソールUIに追加します。フォームはとてもシンプルです。
ただし、ユーザーがログインするまでUserIDを取得できません。だから最初にサービスを実行してから戻ります。
このサンプルアプリケーションはJavascriptで動いています。
最もポピュラーな言語でどなたにもわかりやすいからです。
非公式なnpmパッケージを見つけました。うまく動きます。もし今みていたら、ありがとうと言いたいです。
プロジェクトで変数を必要としていまして、この赤い部分の値が必要になります。
リポジトリをクローンし環境変数をexportしdev環境モードで動かします。
LINE Loginを構成するためにコールバックURLをコピーしました。
サービスから自分のLINEアカウントにログインします。
これがこのサービスの私のユーザーIDです。
テストユーザー登録画面に戻ります。自分のUserIDを追加し、自分のサービスのオーナーウォレットからLBCCを直接送れます。
100送ります。0が6個付きます。
自分のBITMAX Walletで確認します。
Historyにも出ています。
このサービスコンソールを使ってあなたのサービスの構成をしました。
ではLINE Blockchain DevelopersのAPIを呼び出します。
API-Server間であなたがユーザーなら、あなたのユーザーがサービスにCallをすると、あなたのサーバーがLINE Blockchain Developer APIを呼びます。
右のサーバー間コールは左側より高いセキュリティ標準が必要です。全ユーザーに影響するためです。
署名申請は我々が提供するセキュリティ特性の一つです。開発環境ですとcurlやPostmanなどのインタラクティブツールを使うのは大変です。そこで今日のデモ用にシンプルな代理署名を作りました。これでAPIエンドポイントを変えるだけで署名申請をスキップできます。
ではLINE Blockchain Developers APIをどう使うか見てみましょう。
API参照ページをいくつか開くとカテゴリがあります。基本的な仕様の構成は他と同じですのでまずはList all service walletsを開きます。
~/dbp-signing-proxy.json
に代理署名のconfigがあります。エンドポイントはCashew、APIシークレットをここに入れ
ポート8282でrunしています。
必要なヘッダーということで、Signature、Timestamp、nonceを代理署名でスキップできました。
ではもう一つ別の例です。ユーザーのサービストークンバランスをクリック。
自分のユーザーIDをコピーします。
LBCCを含む3つのサービストークンがあります。
いま100LBCC。リワードトークンはまだありおません。
手作業でミンティングします。
ところでブラウザ拡張ベースのウォレットがダイアログボックスをどう起動するかご存じでしょうか。
拡張をインストールし、ロードしたすべてのページにJavascriptのオブジェクトが出ます。
そうするとクライアント側のJavascriptコードを起動できます。
しかし我々は別の方法を取ります。
LINEとBITMAXウォレットがあるので拡張インストールなしにユーザーとインタラクションできるからです。
ユーザーがトークンの移動をリクエストをする方法は2つあります。
一つはLINE Message経由。もう一つはサービスクライアントがWebアプリであればページリダイレクトを使います。
コーヒーを買うのは、200LBCCウォレットをAOA(Aggressive Official Account)ウォレットに送金することになります。
ラインメッセージのようなシステムです。
これをトライしましょう。
LINEメッセージが入ってきました。内容をチェックしましょう。
Confirmしました。
サービスでコミットトランザクションのコールをしブロックチェーン取引をします。1LBCRをミンティングし、NFTリワードをユーザーへ。これはWebアプリケーションなのでページリダイレクトも使えます。
別なリワードトークンがもらえました。5リワードトークン以上あると使えます。5もらいましょう。
Redeem 交換ボタンが使えるようになります。
いろいろな形のRedeemがありますが、ここではオーナーウォレットへ送ります。
NFT向けのバッチトランスファーサポートがあります。一つずつNFTを送る必要はありません。
NFTをミントする間にメタフィールドで有益な情報を残します。LBCRに何が書いてあるか
LBCR作成のときにBaseImageURIを省略しました。
BitmaxWalletにLBCRトークンがありデフォルトアイコンがあります。
自分のアイコンを付けられます。
Githubpageでやってみます。
ルールは簡単です。ファイル拡張せずにPNGやJPEGでイメージファイルを乗せるだけです。
githubPagesのURIを載せます。それだけです。
全て本日のトピックについて開発者の視点でお話できました。なぜみなさんのためのLINE BlockchainPlatformなのか
私の回答はこうです。LINEには巨大なユーザーベースがあり皆さんのサービスはこれを活用できるのです。
エンドユーザーにもデベロッパーにも使いやすさを追求しています。
我々はLINK Rewards Programを提供しています。みなさんもこのキャンペーンをお使いいただけます。
いくらするの?と思うかもしれません。こちらが価格帯です。
サービスをCashewでつかうのは無料です。DaphneのAPIコールは優良です。価格帯、これは魅力的ではありませんか?
ご清聴ありがとうございました。みなさんのクリエイティブなブロックチェーンサービスを楽しみにしています。