본문 바로가기

코인으로 부자되기/BTC 라이트닝네트워크

LND (라이트닝네트워크 노드) source build #1

소스 빌드부터 해서 LND를 동작시켜보고 싶어서, 공부하는 내용을 정리한다.

 

가이드는 아래 링크를 참고했다.

https://docs.lightning.engineering/lightning-network-tools/lnd/run-lnd

 

 

 

LND 설치는 binary, source, docker 등으로 할 수 있는데, 직접 소스 수정할것도 고려하여 source로 해볼 생각이다.

https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#installing-a-binary-release

 

lnd/docs/INSTALL.md at master · lightningnetwork/lnd

Lightning Network Daemon ⚡️. Contribute to lightningnetwork/lnd development by creating an account on GitHub.

github.com

 

go install

wget https://dl.google.com/go/go1.19.7.linux-amd64.tar.gz
sha256sum go1.19.7.linux-amd64.tar.gz | awk -F " " '{ print $1 }'

sudo tar -C /usr/local -xzf go1.19.7.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

 

 

lnd install

lnd install
git clone https://github.com/lightningnetwork/lnd
cd lnd
make install tags="experimental"

 

여기까지 했다면 lnd와 lncli command를 쓸 준비가 됐다. 설치한 lnd와 bitcoin backend를 연결해야한다.

 

LND의 bitcoin backend를 설정해야하는데, 3가지 종류가 있다.

btcd, neutrino, bitcoind 제일 쉽게 해볼 것으로 neutrino를 해본다.

 

아래 명령어로 실행해본다.

lnd --bitcoin.active --bitcoin.mainnet --debuglevel=debug \
       --bitcoin.node=neutrino --neutrino.connect=btcd0.lightning.engineering --neutrino.feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json

 

 

lnd, lncli 사용해보기

lncli create (한번 create하고 안함)

lncli unlock

lncli getinfo

lncli walletbalance

lncli listchannels

 

 

 

lncli create 관련 공부 

LND의 지갑은 on chaine, off chain wallet을 관리한다. 

생성한 wallet은 ~/.lnd/data/chain/bitcoin/mainnet/wallet.db 에 저장됨.)

 

 

 

 

에러 상황

lnd를 설치하면 lnd와 lncli command를 사용할 수 있다. 사용할 수 없는 경우, bashrc에 path를 추가한다.

lncli: command not found

 

export GOPATH=~/go
export PATH=$PATH:$GOPATH/bin

 

 

용어 정리

Macaroons

Macaroons are an advanced authentication mechanism for distributed systems. They are designed to combine the advantages of bearer and identity based authentication systems in a single token that can quickly be issued and verified without requiring access to a central database.

 

lncli create

-> seed pharse, macraoons

lnd account: lnd node 위에서 생성되는 custodial accounts