lndmonをGKEにデプロイするのに調べたメモ

static ipについて GKEではstatic IPというのが存在する。 詳細はまさに静的 IP アドレスを使用したドメイン名の構成というのを見ればわかる。 普通は登録済みのドメイン名(example.com など)を所有していることを前提とすることが多いけど、今回はとりあえず静的IPを取得するところまで。 ingressの場合はリージョンはどこでもOK、serviceの場合は指定が必要らしい。 $ gcloud compute addresses create helloweb-ip --region us-central1 $ gcloud compute addresses describe »

LNDでchannelを開く

LNDでchannelを開く。 改めて、実験じゃなくて、使うレベルで運用しようとすると本当に複雑な仕組みだと思う。 なぜか資産が減っている(感覚になる)し、こんなもの、どうやったらマスアダプションするのか。 実験先はionのtestnet。 前提として、testnetがGKEに構築済で、syncは終わっているものとする。 下記コマンドを叩いて、対象のclusterが間違っていないことを確認する。 $ kubectl config get-contexts まず、すべてのblockがsync済であることを確認する。 $ kubectl exec -it lnd-btcd-0 -c btcd »

lndmonをremoteLNDに接続する

lndのノード監視ツールであるlndmonをローカルからremoteのLNDに接続したのでメモ。 まず、macaroonsとtlsを用意する。 macaroonはreadonly.macaroonsをコピーしてくる。 kubectl cp lnd-btcd-0:root/.lnd/data/chain/bitcoin/simnet/readonly.macaroon ./readonly.macaroon -c lnd 続いて、tlsをコピーする。前提として、このtlsは、gkeでservice立ち上げ後に再作成したものである必要がある。 再作成は、 »

LND-GKE-testnet

testnet環境を構築したのでメモ。 新しいクラスタを作る対象のプロジェクトに切り替える。 gcloud config configurations activate <your projectid> 新しいクラスタを作る。 gcloud container clusters create lnd-testnet --machine-type=n1-standard-1 --num-nodes=1 --region asia-northeast1-a テストネット用の設定をしたenvファイルを作成する。 DEBUG=info NETWORK= »

LocalとK8SのLNDでhandshake

GKE上にデプロイしたLNDとローカルでconnectionを実施してみる。 この際に用いるコンテナはgithubにV0.1としてアップしている。 立ち上げ 空のクラスタを作成する。 gcloud container clusters create lnd-simnet --machine-type=n1-standard-1 --num-nodes=3 --region asia-northeast1-a gcloud container clusters describe lnd-simnet 今後のローカルでのkubectlとの連携のために、credentialを渡す。 $ gcloud container clusters »

LND-GC-DEPLOY

LNDをGKE上で構築しようとしていて、最も参考になるのはこのリポジトリだ。 lightning peachは、bitfuryの中でlightningに専任するengeneerチームだという理解である。 LND-GC-DEPLOY これは、自分でLNDを構築する簡単な方法を提供しているコードだ。 GKEを使うことを前提としていて、さらに、neutrinoを使うことを前提としている。 ちなみに、接続先は、proxy.lightningpeach.com:8333である。 基本的なnetworkは、下記のような図になるか。 neutrinoを使うことについて この軽量な仕組みは、neutrinoを使っているから成り立っている。 LNDを導入したいユーザは、ここに書かれているreadme通りに動かせば、簡単にLNDを自分でつかうことができるだろう。 BTCD側も、 »

LNDのGKE化がうまくいかない

LND-BTCD環境をGKE上に構築し、lndのpeer(port:9375)の接続が可能な状態とすることを目的とする。 最終目的としては、BTCD-LND-LNCLIのnetworkはセキュアな状態で、lndのpeer(port:9375)だけをinternetに公開したい。 リポジトリ アーキテクチャ 前提 GCPプロジェクト準備済 GCLOUDをinstall済 dockerをinstall済 kubectlをinstall済 クラスタのセットアップ まずはクラスタを作る。 対象のプロジェクトが存在するconfigurationを指定する。 gcloud config configurations activate CONFIGURATION_ »

ハギビス

2019年の台風19号は、ハギビスと名付けられ、本州では史上最大級の勢力で関東直撃した。 家にいて暇で、色々天候と対策について調べたのでまとめる。 川がいかにして氾濫を防ぐか まず、直接水の流れをみながら上流から下流に歩いていくと、当然下流の方が広く、深くなっている。これはよくできている。そして、基本的には、貯水池に水を逃す。 目黒川では、ここ30年で8回ほど利用されているようなので、3年に一回は活躍するようだ。 実際に目黒川をみても、危険水域で調整されているようだ。(多分、一番最初に氾濫するのは東山付近の上流だ) 多摩川にも調節池は存在するようだが、今回は氾濫した。なにかオペレーションの問題があったのだろうか。 »

LNDでLoutingNode

Lightning Networkでlouting nodeをやろうと思ったら、ハードルは高くなる。 ルーティングの概要と、いくつかの基本的なlndオプションとパラメーター、およびそれらがルーティングノードオペレーターに適用される方法をまとめる。 ルーティングノードになると、少しはお金が稼げたりする。かなり複雑なオペレーションを必要とするので、まだまだ参入障壁は高い。 ルーティングノードとはなにか lightning networkにおいて、bitcoinを資本として、支払いのroutingを担当できるnodeのことだ。 たくさんのbitcoinを保持して多数のチャンネルを設定するノードと、少額のbitcoinしか保持しないノードがあるが、いづれにしても高い可用性が必要となる。  だからGKEを使うのが現実的だと書いた。 必要なもの これが多い。列挙する 1. 資本力(Bitcoin) »

LND_RPC_Client

Stage 3 - RPC Clientを和訳する。Stage 1 - Setting up a local clusterが前提となっている。 Stage 3 - RPC Client このセクションでは、チュートリアルアプリの利用を最後として、LNDに接続するためのgRPCクライアントを作成する。 ウェブアプリを作る準備 ニュースサイトを立ち上げよう。始める前に、pipとvirtual envのinstallが必要である。 »