美文网首页
在win10上搭建比特币闪电网络单机双节点测试环境(一)

在win10上搭建比特币闪电网络单机双节点测试环境(一)

作者: sky2016 | 来源:发表于2019-01-15 10:17 被阅读68次

目前比特币lightning网络有三大实现:c-lightninglndEclair,其中c-lightning是c语言写的,源码在Github

注:c-lightning只有linux实现,在win10上怎么搭建呢?别忘了win10提供了一个linux子系统,我们可以利用这个子系统来搭建需要的环境。

  1. 开启ubuntu子系统
    Windows10开启Ubuntu子系统简易步骤
    如果你这一步已经完成则继续下一步。

  2. 安装bitcoind
    在你的ubuntu子系统窗口中输入一系列命令:

     sudo apt-get install software-properties-common
     sudo add-apt-repository ppa:bitcoin/bitcoin
     sudo apt-get update
     sudo apt-get install -y bitcoind
    
  3. 启动bitcoind来同步比特币区块链
    由于闪电网络目前还不稳定,因此不推荐直接上main net,我们这里用testnet来进行测试。

     bitcoind -daemon -testnet -datadir=/mnt/f/temp/btctestnet
    

-daemon表示bitcoind后台运行
-testnet表示测试网络
-datadir设置区块链目录,用于存放同步下来的区块链数据,我这里用的是本机的f:\temp\btctestnet目录

  1. 耐心等待区块链同步完成
    同步进度可以用下面这个命令来查看:

     sky@willw:~/lightning$ bitcoin-cli -testnet -datadir=/mnt/f/temp/btctestnet getblockchaininfo
     {
     "chain": "test",
     "blocks": 1452356,
     "headers": 1452356,
     "bestblockhash": "00000000002a8df422bd35b36cd58a5fe6a28779fe2f52aec4212cf08ba5cdf6",
     "difficulty": 1,
     "mediantime": 1547457629,
     "verificationprogress": 0.9999935710959913,
     "initialblockdownload": false,
     "chainwork": "0000000000000000000000000000000000000000000000e71a1b804f38894edd",
     "size_on_disk": 23235751287,
     "pruned": false,
     "softforks": [
         {
         "id": "bip34",
         "version": 2,
         "reject": {
             "status": true
         }
         },
         {
         "id": "bip66",
         "version": 3,
         "reject": {
             "status": true
         }
         },
         {
         "id": "bip65",
         "version": 4,
         "reject": {
             "status": true
         }
         }
     ],
     "bip9_softforks": {
         "csv": {
         "status": "active",
         "startTime": 1456790400,
         "timeout": 1493596800,
         "since": 770112
         },
         "segwit": {
         "status": "active",
         "startTime": 1462060800,
         "timeout": 1493596800,
         "since": 834624
         }
     },
     "warnings": "Warning: unknown new rules activated (versionbit 28)"
     }
    

注意其中的blocks值,如果与smartbit中最新块相同,那么恭喜你可以进行下一步了。

注:如果你的区块链同步卡在4000多块,请使用老版本的bitcoind进行同步

  1. 安装c-lightning
    用以下一系列命令:

     sudo apt-get update
     sudo apt-get install -y \
     autoconf automake build-essential git libtool libgmp-dev \
     libsqlite3-dev python python3 net-tools zlib1g-dev
     git clone https://github.com/ElementsProject/lightning.git
     cd lightning
     ./configure
     make
    
  2. 启动c-lightning,并连接bitcoind
    c-lightning启动后会连接bitcoind的RPC端口,默认是18332

     lightningd/lightningd --testnet --bitcoin-datadir=/mnt/f/temp/btctestnet --log-level=debug
    

这里没有用daemon格式,便于我们观察窗口中打印的内容。

  1. 获取该c-lightning节点的信息
    新开一个ubuntu窗口,如果前面步骤没有出错,那么可以用下面这个命令获取该节点的一些信息:

     sky@willw:~/lightning$ cli/lightning-cli getinfo
     {
     "id": "03707f3ba87336a4571750f7d1f17d7261843ccf1310c122afbf70c01f0e22fe89",
     "alias": "VIOLENTGLEE",
     "color": "03707f",
     "num_peers": 3,
     "num_pending_channels": 0,
     "num_active_channels": 2,
     "num_inactive_channels": 2,
     "address": [
     ],
     "binding": [
         {
         "type": "ipv6",
         "address": "::",
         "port": 9735
         },
         {
         "type": "ipv4",
         "address": "0.0.0.0",
         "port": 9735
         }
     ],
     "version": "v0.6.3rc1",
     "blockheight": 1452359,
     "network": "testnet",
     "msatoshi_fees_collected": 0
     }
    

注意这里的idlightning nodeid,连接节点时会用到。还有这里的binding,表示绑定ip和端口,默认端口为9735,支持IPv4IPv6

  1. 获取第一个比特币地址
    在每个lightning节点上有一个wallet,这个wallet会自我管理多个比特币地址,我们先获取第一个。

     sky@willw:~/lightning$ cli/lightning-cli newaddr
     {
     "address": "tb1qz7csjw3c97cgcxnq583mnqwrr4mrztk6cq56mq"
     }
    
  2. 向这个地址转账一定的比特币
    因为是testnet,因此可以在这个网站获取一定的测试币。
    获取成功以后等待交易确认,然后就可以用listfunds命令看到本节点的测试币了。

     sky@willw:~/lightning$ cli/lightning-cli listfunds
     {
     "outputs": [
         {
         "txid": "986e8ee5bfcd7798f080edafff5cb91c69be3b7417518dfb90055d0004d5f8e6",
         "output": 1,
         "value": 19344078,
         "address": "tb1qz7csjw3c97cgcxnq583mnqwrr4mrztk6cq56mq",
         "status": "confirmed"
         }
     ],
     "channels": [
     ]
     }
    

这个命令可以得到本节点上所有地址的比特币,这些比特币可能分散在不同地址上,开始时候只有我们刚才创建的地址。value是比特币数量,单位为聪(satoshis)。
好了,闪电网络的第一个节点就建好了。

相关文章

网友评论

      本文标题:在win10上搭建比特币闪电网络单机双节点测试环境(一)

      本文链接:https://www.haomeiwen.com/subject/voujdqtx.html