Enviar búsqueda
Cargar
TypeScriptでライトニングネットワークを使ってみよう
•
2 recomendaciones
•
494 vistas
bitbank, Inc. Tokyo, Japan
Seguir
最近注目を浴びているライトニングネットワークを活用するためのTypeScriptライブラリを紹介します。
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 11
Descargar ahora
Descargar para leer sin conexión
Recomendados
Ethereumのシャーディング概論
Ethereumのシャーディング概論
bitbank, Inc. Tokyo, Japan
bitbankフロントエンド開発について
bitbankフロントエンド開発について
Kou Matsumoto
Lightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
Introduction of bitbank frontend development environment
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用
bitbank, Inc. Tokyo, Japan
中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
Deploy TypeScript with CodePipeline in Fargate
Deploy TypeScript with CodePipeline in Fargate
bitbank, Inc. Tokyo, Japan
Recomendados
Ethereumのシャーディング概論
Ethereumのシャーディング概論
bitbank, Inc. Tokyo, Japan
bitbankフロントエンド開発について
bitbankフロントエンド開発について
Kou Matsumoto
Lightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
Introduction of bitbank frontend development environment
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
ビットバンクの開発におけるAWSの利用
ビットバンクの開発におけるAWSの利用
bitbank, Inc. Tokyo, Japan
中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
Deploy TypeScript with CodePipeline in Fargate
Deploy TypeScript with CodePipeline in Fargate
bitbank, Inc. Tokyo, Japan
Node-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツールNode generator
BMXUG
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Saki Homma
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Yahoo!デベロッパーネットワーク
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
shigeki_ohtsu
C# でブロックチェーン実装
C# でブロックチェーン実装
Yuto Takei
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
三七男 山本
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
Miya Kohno
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
Takashi Kanai
Server side Swift & Photo Booth
Server side Swift & Photo Booth
LINE Corporation
ドリコムのInfrastructure as code
ドリコムのInfrastructure as code
Yosuke Hiraishi
runC概要と使い方
runC概要と使い方
Yuji Oshima
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
NTT Software Innovation Center
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Takao Tetsuro
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
Masaya Aoyama
5jCup WebRTC賞
5jCup WebRTC賞
Yusuke Naka
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
インフラチームの歴史とこれから
インフラチームの歴史とこれから
bitbank, Inc. Tokyo, Japan
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略について
bitbank, Inc. Tokyo, Japan
Más contenido relacionado
Similar a TypeScriptでライトニングネットワークを使ってみよう
Node-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツールNode generator
BMXUG
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Saki Homma
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Yahoo!デベロッパーネットワーク
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
shigeki_ohtsu
C# でブロックチェーン実装
C# でブロックチェーン実装
Yuto Takei
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
三七男 山本
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
Miya Kohno
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
Takashi Kanai
Server side Swift & Photo Booth
Server side Swift & Photo Booth
LINE Corporation
ドリコムのInfrastructure as code
ドリコムのInfrastructure as code
Yosuke Hiraishi
runC概要と使い方
runC概要と使い方
Yuji Oshima
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
NTT Software Innovation Center
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Takao Tetsuro
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
Masaya Aoyama
5jCup WebRTC賞
5jCup WebRTC賞
Yusuke Naka
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
Similar a TypeScriptでライトニングネットワークを使ってみよう
(20)
Node-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツールNode generator
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
C# でブロックチェーン実装
C# でブロックチェーン実装
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
Server side Swift & Photo Booth
Server side Swift & Photo Booth
ドリコムのInfrastructure as code
ドリコムのInfrastructure as code
runC概要と使い方
runC概要と使い方
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
Wasm blazor and wasi 2
Wasm blazor and wasi 2
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
5jCup WebRTC賞
5jCup WebRTC賞
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Más de bitbank, Inc. Tokyo, Japan
インフラチームの歴史とこれから
インフラチームの歴史とこれから
bitbank, Inc. Tokyo, Japan
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略について
bitbank, Inc. Tokyo, Japan
ビットバンク流 アジャイル開発の紹介.pdf
ビットバンク流 アジャイル開発の紹介.pdf
bitbank, Inc. Tokyo, Japan
ビットバンクで求められるプロジェクトマネジメント
ビットバンクで求められるプロジェクトマネジメント
bitbank, Inc. Tokyo, Japan
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
bitbank, Inc. Tokyo, Japan
ビットバンクのマッチングエンジン.pdf
ビットバンクのマッチングエンジン.pdf
bitbank, Inc. Tokyo, Japan
ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略
bitbank, Inc. Tokyo, Japan
bitbank Corporate Information
bitbank Corporate Information
bitbank, Inc. Tokyo, Japan
ng build --prod & Continuous Delivery
ng build --prod & Continuous Delivery
bitbank, Inc. Tokyo, Japan
マーブル図で怖くないRxJS
マーブル図で怖くないRxJS
bitbank, Inc. Tokyo, Japan
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
bitbank, Inc. Tokyo, Japan
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
bitbank, Inc. Tokyo, Japan
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
bitbank, Inc. Tokyo, Japan
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
bitbank, Inc. Tokyo, Japan
Daocasinoにおけるstate channel実装
Daocasinoにおけるstate channel実装
bitbank, Inc. Tokyo, Japan
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
bitbank, Inc. Tokyo, Japan
20181108 bitbank lt-maintainable-e2e-testing
20181108 bitbank lt-maintainable-e2e-testing
bitbank, Inc. Tokyo, Japan
Angular Refactoring in Real World
Angular Refactoring in Real World
bitbank, Inc. Tokyo, Japan
アプリケーション開発目線から考える テストの書き方について
アプリケーション開発目線から考える テストの書き方について
bitbank, Inc. Tokyo, Japan
Asana handson
Asana handson
bitbank, Inc. Tokyo, Japan
Más de bitbank, Inc. Tokyo, Japan
(20)
インフラチームの歴史とこれから
インフラチームの歴史とこれから
ビットバンクのデプロイ戦略について
ビットバンクのデプロイ戦略について
ビットバンク流 アジャイル開発の紹介.pdf
ビットバンク流 アジャイル開発の紹介.pdf
ビットバンクで求められるプロジェクトマネジメント
ビットバンクで求められるプロジェクトマネジメント
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクのマッチングエンジン.pdf
ビットバンクのマッチングエンジン.pdf
ビットバンクにおける少人数で支えるインフラチームの戦略
ビットバンクにおける少人数で支えるインフラチームの戦略
bitbank Corporate Information
bitbank Corporate Information
ng build --prod & Continuous Delivery
ng build --prod & Continuous Delivery
マーブル図で怖くないRxJS
マーブル図で怖くないRxJS
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介
Daocasinoにおけるstate channel実装
Daocasinoにおけるstate channel実装
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
20181108 bitbank lt-maintainable-e2e-testing
20181108 bitbank lt-maintainable-e2e-testing
Angular Refactoring in Real World
Angular Refactoring in Real World
アプリケーション開発目線から考える テストの書き方について
アプリケーション開発目線から考える テストの書き方について
Asana handson
Asana handson
TypeScriptでライトニングネットワークを使ってみよう
1.
ビットバンク株式会社 TypeScript でライトニング ネットワークを使ってみよう Jonathan Underwood
2.
Copyright © bitbank,
inc. 概要 1. Lightning のノードソフトウェアプロジェクト 2. LNDを選定した理由 3. LNDをTypeScriptで扱うまでの道のり 4. gRPCでの操作 a. lnd-rpc の紹介 (ライブラリ) b. tls.cert のドメインについて c. 認証に使う macaroon の選定について 5. 留意点
3.
Copyright © bitbank,
inc. Lightning のノードソフトウェアプロジェクト 1. LND (https://github.com/lightningnetwork/lnd) a. 開発言語: go b. Interfaces: JSON-REST, CLI, gRPC 2. c-lightning (https://github.com/ElementsProject/lightning) a. 開発言語: C b. Interfaces: JSON-REST, CLI 3. eclair (https://github.com/ACINQ/eclair) a. 開発言語: scala b. Interfaces: JSON-REST, GUI
4.
Copyright © bitbank,
inc. LNDを選定した理由 1. gRPC のインタフェースを提供 a. 型が定義されているので、TypeScriptとの相性が良い 2. 開発コミュニティーが活発 a. 質問あれば slack で聞くとすぐに返事がくる 3. 開発を主導している会社はライトニングのために設立された a. ライトニングの未来をより良くする動きはLNDから始まる傾向
5.
Copyright © bitbank,
inc. LNDをTypeScriptで扱うまでの道のり 2017/11 LNDのリード開発者と連 絡を取り、取引所がライ トニングを活用する場合 のベストプラクティスを 議論 2017 2018 2019 bitbank cc の開発環境にて ライトニングの入出金を実装 ・フロントは未実装 ・APIでしか使えない ・testnetのみ ・TypeScript未対応 ・非公開ライブラリ 2017/12 2018/01 LNDのmainnetフォークを 作り、slackで数人で共有 し、mainnetのLNの初期 の5ノードに入り、steam card 購入 mainnetの公式リリースが出たものの、色々と不都合により延期させ、引き続きライトニングの研究 とLND開発者との連携を取り、ライトニングを促進する取り組みをいくつか考案+実装 2018/01 下旬 - 現在 2019/02 内部で使っていたライブラリをTypeScriptに 対応させ、MITライセンスでオープンソース ?
6.
Copyright © bitbank,
inc. gRPCでの操作: lnd-rpcを紹介 NPM: https://www.npmjs.com/package/lnd-rpc Github: https://github.com/junderw/lnd-rpc
7.
Copyright © bitbank,
inc. gRPCでの操作: lnd-rpcを紹介 import { LightningRpc, GetInfoResponse } from 'lnd-rpc' const LndRpc = LightningRpc. fromFilePaths ( '/home/ubuntu/.lnd/tls.cert' , '/home/ubuntu/.lnd/data/chain/bitcoin/mainnet/admin.macaroon' ) async function unlockExisting() : Promise<void> { await LndRpc. unlock("aaaaaaaa" ) let results : GetInfoResponse = await LndRpc. getInfo() console.log(results) } unlockExisting ().catch(console.error) 1. 2つのファイルが必要 a. tls.cert b. *.macaroon 2. 指定方法が2つ a. fromFilePaths = ファイルパス b. fromStrings = 文字列 i. cert = utf8 ii. macaroon = hex 3. waitForReady ⇒ unlock OR create ⇒ toMain ⇒ 使う
8.
Copyright © bitbank,
inc. gRPCでの操作: lnd-rpcを紹介 let results : RequestResponse = await LndRpc. request(1e6) console.log(results.paymentRequest) // ... wait for payment // For polling: let checkPaid : Invoice = await LndRpc .check(results.rHash. toString ('hex')) console.log(checkPaid.settled) // true OR false 1. request にサトシを指定 a. 現時点ではmSatの指定が不可 b. 0 指定すると、払う側が指定 2. check で rHash の hex 渡して状態確認 3. polling以外にもstreamを返す方法もある
9.
Copyright © bitbank,
inc. gRPCでの操作: tls.cert のドメインについて 1. tls.certの中にある情報を変更するため a. ~/.lnd/lnd.conf にて extra IP OR extra domain を追加 b. 既存のtls.certとtls.keyを削除 c. 起動すると新規のtls.certとkeyが発行される 2. デフォルトは localhost のみで利用可能 (理想) 3. 荒業として「NODE_TLS_REJECT_UNAUTHORIZED=0」 (非推奨)
10.
Copyright © bitbank,
inc. gRPCでの操作: 認証に使う macaroon の選定について 1. macaroonはメソッドごとにパーミッションを設定できる 2. 現時点ではmacaroonを任意のパーミッションで出すことが困難 3. デフォルトで出されるmacaroon a. admin.macaroon - 全ての操作が可能 b. invoice.macaroon - PaymentRequestのみ発行可能 c. readonly.macaroon - 読み取る操作のみ可能 (PaymentRequest発行不可)
11.
Copyright © bitbank,
inc. 留意点 1. create する時の引数が2つ、 ウォレットロックのパスワードと、復元フレーズのパス ワード (任意) a. 戻り値の中に seed があり、それが復元フレーズ、管理に注意すべき b. オンチェーンのウォレットの復元に必要なデータ i. seed + seed_password ii. wallet_lock_password + wallet.db (file) c. オフチェーンのライトニング財産の復元に必要なデータ i. オンチェーンの復元情報が必須 ii. 必ず channel.db の最新状態のもの 1. channel.dbの古い状態を復元してしまうと、お金を失うリスクがある 2. これがライトニングの一番の弱点だが、対策開発中 2. send で誰かのペイメントを支払う時、2回失敗して3回目で成功するのもあり得るの で、失敗の扱いはアプリ側で考えないといけない (日々改善している) 3. LNDの今後の進展に期待
Descargar ahora