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

目前比特币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)。
好了,闪电网络的第一个节点就建好了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容