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=testnet  
RPCPASS=devpass  
RPCUSER=devuser  
CHAIN=bitcoin  

これをsecretに変換する。 ちなみにsecretとは

Secret は、パスワード、OAuth トークン、SSH 認証鍵などの機密データをクラスタに格納する安全なオブジェクトです。機密データを Secret に保存することは、平文の ConfigMap やポッド仕様よりも安全です。Secret を使用すると、機密データの使用方法を制御し、権限のないユーザーにデータが公開されるリスクを軽減できます。

base64にエンコードされてるみたいだけど、これだけで安全性増すものなのかなあ。

kubectl create secret generic lnd-secret --from-env-file=.env  

statefulsetを適用する。

kubectl apply -f StatefulSet.yaml  

btcdノードに入り、syncが始まっていることを確認する。

kubectl exec -it lnd-btcd-0 -c btcd bash  
btcctl --rpcuser=devuser --rpcpass=devpass --rpccert=/rpc/rpc.cert --testnet getinfo  
{
  "version": 120000,
  "protocolversion": 70002,
  "blocks": 20299,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 3.32069341,
  "testnet": true,
  "relayfee": 0.00001,
  "errors": ""
}

現在、bitcoinのtestnetのblocks数は1583316程度だって。どれくらいの時間でsync終わるか・必要なstrageサイズは確認しよう。

大体結果として、35時間くらいsyncには時間がかかり、ファイルサイズは25GB程度だった。