Skip to content

Latest commit

 

History

History
218 lines (148 loc) · 5.77 KB

node-runner.docker.zh.md

File metadata and controls

218 lines (148 loc) · 5.77 KB

安装Docker

  • 打开Docker官网,下载对应系统版本

    image-20241128wGu4uZRu@2x

    下载后安装,之后打开Docker Desktop,等待Docker 正常运行。

  • 使用命令行安装

    • Window

      winget install Docker.DockerDesktop
    • Macos

      brew install docker --cask

      或者

      brew install orbstack --cask
    • Linux

      curl -fsSL https://get.docker.com | bash -s docker
      sudo systemctl start docker
      sudo systemctl enable docker.service

配置LND

  1. 选择或者创建为lnd节点存储数据的文件夹

    mkdir ./lnd 
  2. 创建配置文件lnd.conf,可以建议使用当前的 lnd.conf.example

    cp ./lnd.conf.example ./lnd/lnd.conf
    # Or
    vim ./lnd/lnd.conf

    如果你有自己的BTC全节点的话,可以替换bitcoin.node设置为 btcd 或者 bitcoind

    需要对应的修改[neutrino]

    • btcd

      [btcd]
      btcd.rpchost=
      btcd.rpcuser=
      btcd.rpcpass=
      btcd.rawrpccert=
      btcd.rpccert=
    • bitcoind

      [Bitcoind]
      bitcoind.rpchost=
      bitcoind.rpcuser=
      bitcoind.rpcpass=
      bitcoind.rpcpolling=true

    注意:如果替换bitcoin.node 为全节点 btcd 或者 bitcoind 且未设置远程节点信息,lnd将在内部启动一个全节点同步,这将会花费很长的时间和占用较大的存储盘资源

    如果没有全节点,可以使用lnd.conf.example中设置的neutrino 轻节点,lnd会自动同步数据(大概10分钟), 使用neutrino之类轻节点时,建议适量增加addpeer对等节点,加快同步速度,目前lnd.conf.example中已有推荐

    [Application Options]
    debuglevel=trace
    maxpendingchannels=10
    alias=Bevm_client_test
    no-macaroons=false
    coin-selection-strategy=largest
    rpclisten=localhost:10009
    restlisten=localhost:8080
    no-rest-tls=true
    restcors=https://bevmhub.bevm.io  
    
    [prometheus]
    prometheus.listen=[::]:8989
    
    [Bitcoin]
    bitcoin.mainnet=false
    bitcoin.testnet=false
    bitcoin.simnet=false
    bitcoin.regtest=false
    bitcoin.signet=true
    bitcoin.node=neutrino
    
    [neutrino]
    neutrino.addpeer=x49.seed.signet.bitcoin.sprovoost.nl
    neutrino.addpeer=v7ajjeirttkbnt32wpy3c6w3emwnfr3fkla7hpxcfokr3ysd3kqtzmqd.onion:38333
    
    [protocol]
    protocol.simple-taproot-chans=true

运行LND

注意: 以下docker 命令执行都需要在lnd文件夹上层目录执行,或者自行修改docker run命令中的路径./lnd到对应绝对路径

docker run --name lnd --rm -d --network host -v ./lnd:/root/.lnd lightninglabs/lnd:v0.18.3-beta

此时未创建钱包,如果使用了bitcoin.node=neutrino 配置,lnd节点会开始运行neutrino 轻节点,并开始同步数据,同步数据需要一点时间,同步期间无法使用钱包功能 可以通过一下命令查看当前同步情况和同步块高详情

# 同步详情
docker exec -it lnd lncli --network signet getinfo
# 同步块高数
docker exec -it lnd lncli --network signet getinfo | grep block_height

创建钱包

docker exec -it lnd lncli create

根据提示输入密码(输入密码不会显示)

Input wallet password:
Confirm password:

如果已有钱包可以根据y或者x导入钱包,如果没有钱包可以输入n创建新钱包

Do you have an existing cipher seed mnemonic or extended master root key you want to use?
Enter 'y' to use an existing cipher seed mnemonic, 'x' to use an extended master root key
or 'n' to create a new seed (Enter y/x/n):

一般助记词部分的密码是空,直接回车

Your cipher seed can optionally be encrypted.
Input your passphrase if you wish to encrypt it (or press enter to proceed without a cipher seed passphrase):
Confirm password:

如果是创建新钱包,记得在此步骤记住当前助记词

Generating fresh cipher seed...

!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!

---------------BEGIN LND CIPHER SEED---------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---------------END LND CIPHER SEED-----------------

!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!

lnd successfully initialized!

完成

到此节点创建和运行已经完成,认证使用的admin.macaroon在当前文件夹的./lnd/data/chain/bitcoin/{network}/admin.macaroon 节点rpc地址为lnd.conf中的restlisten地址

常见问题

如何停止LND节点,如何重启节点

# 停止节点
docker stop lnd

# 重启节点
docker run --name lnd --rm -d --network host -v ./lnd:/root/.lnd lightninglabs/lnd:v0.18.3-beta

重启节点或者第一次运行连接钱包时遇到wallet locked, unlock it to enable full RPC access错误

每次重新运行LND节点需要重新unlock钱包,需要运行以下命令

docker exec -it lnd lncli unlock

LND节点的数据和通道数据都在哪里,是否会因为节点暂停而自动清除

节点数据和通道数据都在./lnd文件夹下,包含admin.macarron文件等,该文件不会随着Docker中LND节点的暂停而清除,当然请妥善保管改文件夹,如果不小心删除,将导致资产损失