1. 程式人生 > >閃電網路介紹以及試用 (下)

閃電網路介紹以及試用 (下)

上篇中我們介紹了閃電網路,現在讓我們來試用它。

執行閃電網路節點

截至2018年2月,LN已經部署並在比特幣測試網上成功通過測試。 它也被部署到了主網,但是現在嚴格來說並不推薦使用它(除非你很魯莽),因為它還不夠穩定。 你會冒著失去你的比特幣的風險! 由於我們不想這樣做,我們將在測試網上嘗試它。

  1. 首先,我們需要一個比特幣節點連線到測試網並完全同步。 我們將使用Bitcoin Core節點,您可以從https://bitcoin.org/en/wallets/desktop/windows/bitcoincore/下載該節點。
  2. 第一次執行時,Bitcoin Core將連線到主網並開始同步。 這不是我們想要的。
  3. 不要等待同步完成。 開啟設定,然後單擊開啟配置檔案按鈕。
  4. 文字編輯器將開啟預設的比特幣核心配置。 將其替換為以下內容:

    testnet=1 server=1 rpcuser=foo rpcpassword=bar txindex=1 zmqpubrawblock=tcp://127.0.0.1:29000 zmqpubrawtx=tcp://127.0.0.1:29000

  5. 這些設定將比特幣核心切換到測試網路並設定一些基本和必需的配置。儲存檔案並重新啟動節點。重啟後,Bitcoin Core的視窗應該包含[testnet],這意味著它現在已連線到測試網路。這一次你必須等待完全同步。

  6. 同時,請訪問https://github.com/ACINQ/eclair/releases並下載我們將在實驗中使用的由ACINQ開發的LN客戶端Eclair。如果您現在嘗試執行Eclair,它將無法啟動,因為比特幣節點沒有完全同步。所以,在同步完成後繼續閱讀。

    當節點正在同步時,您可以訪問https://explorer.acinq.co/ - 這是LN拓撲視覺化服務。它還將節點位置對映到世界地圖,這非常有趣。
  7. 節點同步後,執行Eclair。它看起來像這樣(但在你的情況下,它沒有開啟的頻道):


  8. 在左下角是您的節點識別符號(同樣,請注意右下角:應該說TEST,意思是LN節點連線到比特幣測試網)。選項卡(所有節點,所有通道)應該有計數器。如果不是這種情況,請等待幾分鐘讓節點獲取節點和頻道資訊。

  9. 就是這樣!現在你有一個完全同步的比特幣節點連線到測試網路和一個隨時可用的LN節點!

儲存比特幣


為了轉移一些BTC,我們首先需要擁有BTC,這很明顯,但通過挖掘獲得它們會非常低效。為了解決這個問題,有服務稱為faucet
,它允許你獲得免費的比特幣(這種服務也存在於其他區塊鏈中,而不僅僅是比特幣)。要獲得一些比特幣,請訪問https://testnet.coinfaucet.eu/en/並輸入您的比特幣地址(您可以從比特幣核心客戶端獲得)。比特幣將與下一個採礦塊一起交付(是的,在測試網中有采礦),您可以通過區塊鏈探索者進行跟蹤。 https://live.blockcypher.com/btc-testnet/


現在,我們已經準備好使用閃電網路了!


開通閃電網路的通道



我們先開啟一個LN通道。

  1. 去我上面提到的LN瀏覽器(https://explorer.acinq.co/)。在站點上的搜尋欄位中鍵入endurance以找到我們要連線的節點(稍後將說明此部分)。在“節點資訊”視窗中,找到“複製URI”連結並單擊它 - 我們將使用URI連線到此節點。
  2. 轉到Eclair,點選Channels選單,然後選擇“Open channel”。將節點URI貼上到目標節點URI。在Capacity欄位中,輸入您希望鎖定在頻道中的金額(即您計劃要支付的最高金額)。就我們的目的而言,100毫託就足夠了。點選連線開啟一個頻道。
  3. 在“Local Channels”選項卡中,應顯示一個新通道:

  4. 新渠道的狀態將迅速變為WAIT_FOR_FUNDING_CONFIRMED,這意味著開放交易的渠道已建立併發送至比特幣網路。現在您需要等待兩個新塊:一個包含交易,另一個包含交易確認。您可以在上面提到的blockchain資源管理器中跟蹤新塊:https://live.blockcypher.com/btc-testnet/
  5. 當交易被挖礦產生的區塊確認後,渠道狀態將移至NORMAL,這意味著渠道已建立並準備好接收LN交易。


用比特幣買咖啡



建立Eclair的同一家公司還建立了一家銷售比特幣咖啡的示範網上商店:https://starblocks.acinq.co/我們將從中購買咖啡,並將通過比特幣通過LN付款!


與主比特幣網路不同,LN不允許在沒有地址所有者許可的情況下將比特幣任意傳送到任何地址。願意收到付款的一方必須建立付款請求,這是發票的一種類似物。然後,派對將付款請求(通過QU程式碼,連結或原始)交給付款方,付款方使用讀取請求並執行付款的應用程式。


所以,為了買一杯咖啡:

  1. 訪問演示商店:https://starblocks.acinq.co/
  2. 將任何咖啡加入購物車並結賬。該頁面將顯示要掃描的QR碼,但由於我們使用的是桌面LN客戶端,因此我們不會使用它。相反,我們需要原始支付請求,即同一頁面上的以lnt開頭的字串 - 只需將其複製到緩衝區即可。礦看起來像這樣:

  3. 切換到Eclair,轉到頻道選單,選擇傳送付款,然後貼上付款請求。 Eclair會解析請求並從中提取一些資訊(如節點ID,支付雜湊,產品名稱和價格)。
  4. 不要點選立即傳送!讓我們來檢查一下。在Eclair中,找到我們連線的節點的ID,並將其與您要傳送付款的節點的ID進行比較。他們不匹配!所以,我們正在向沒有開啟渠道的節點發送付款。
  5. 好的,點擊發送...,付款成功!咖啡價格從鎖定在渠道中的金額中提取,演示商店顯示成功的付款訊息。怎麼來的?您沒有向商店的節點開放渠道。事實證明,您連線的節點已連線到您付款的節點。那endurance節點是一箇中間人!
  6. 轉到LN瀏覽器並找到兩個節點。由於通道的視覺化,您可以看到兩個節點確實在它們之間有一個通道。

今天就到這裡!我鼓勵您嘗試其他用例和其他LN客戶端和應用程式 - 在testnet中,它是很簡單的,您不會冒任何風險。


主網如何?

截至2018年2月,Lightning Network尚未準備好實際支付。是的,它被部署到主網路,是的,主網路中有LN節點。但技術還在開發完善中,傳送真正的比特幣非常危險。

但是你仍然可以看看它,感謝這項服務:https://lnmainnet.gaben.win/

連結和資源

全篇完結。