[BITCOIN] Polar 1 nốt nhạc setup xong lightning network

One-click Bitcoin Lightning Networks

Vấn đề khi phát triển Dapps trên Lightning network

Để cài đặt Lightning network hiện tại chúng ta cần cài đặt Golang > go1.11 rồi sau đó cài đặt bitcoin node sau đó cài đặt lnd,... chi tiết cài đặt mình có đề cập trong bài viết này các bạn có thể tham khảo. Theo mình thấy thì thực sự cách cài đặt đó rất dài dễ lỗi khó follow và thực sự tốn rất nhiều thời gian cho người mới bắt đầu . Gần đây mình mới có tìm hiểu và phát hiện ra một app khá hay để setup môi trường test nhanh gọn nhẹ trong vài click để chúng ta có thể setup môi trường Lightning network . Đó chính là Polar

Polar được xây dựng để giúp các coder phát triển ứng dụng Lightning Network nhanh chóng bằng cách tạo ra một hoặc nhiều local network trên máy tính của họ.

Với Polar bạn có thể:

  • Tạo một Lightning Network regtest chỉ trong vài cú nhấp chuột
  • Kết nối từ ứng dụng của bạn với các nút Lightning thông qua RPC
  • Khởi chạy terminal trong mỗi nút bitcoin / Lightning
  • Thêm nhiều nút hơn bằng cách sử dụng kéo và thả
  • Mở và đóng kênh
  • Mine các khối mới
  • Gửi tiền regtest vào mỗi nút Lightning

Các Network node được hỗ trợ:

  • LND v0.8.0 & v0.7.1
  • Bitcoin Core v0.18.1
  • c-lightning

Cách cài đặt

Dependencies

Polar yêu cầu bạn phải cài đặt Docker để tạo các mạng cục bộ

Trên Mac & Windows, bạn chỉ cần cài đặt Docker Desktop

Trên Linux, bạn cần cài đặt Docker ServerDocker Compose riêng

Download

Hiện tại Polar đã releases một vài bản dành cho Mac , Win và Ubuntu để cài đặt các bạn có thể vào link sau để chọn bản cài đặt.

https://github.com/jamaljsr/polar/releases

Hoặc bạn cũng có thể clone github của Polar và chạy : https://github.com/jamaljsr/polar Lưu ý nên cài các bản releases vì bản dev hiện tại vẫn đang dev vẫn còn khá nhiều lỗi trong quá trình sử dụng

yarn	#install dependencies

Sau đó

yarn dev	#run the app with react hot reloading and electron live restarting

chú ý nếu trong quá trình pull docker về lỗi thì hãy sửa lại DNS server config thành 8.8.8.8 thay vì 127.0.1.1 bằng lệnh

sudo vi /etc/resolv.conf

Polar là app được phát triển trên React code bằng TypeScript và Electron cho đến hiện nay vẫn đang tiếp tục dev vá một số lỗi và phát triển thêm các chức năng .

Kiến trúc đằng sau polar

Hướng dẫn sử dụng

Chúng ta sẽ bắt đầu bằng việc tạo một mạng Lightning

Ở đây chúng ta có một vài thông số

  • Network Name : Vì có thể tạo nhiều network nên bạn có thể đặt tên cho network để phân biệt vs các network khác
  • How many LND node : Bạn có thể config số lượng node LND khi khởi tạo ( Ở bản mình clone repo về thì đã có thêm node c-lightning )
  • How many bitcoind nodes : hiện tại mặc định là 1 node bitcoind cho mỗi mạng

Sau khi tạo xong chúng ta sẽ có một mạng như sau. Để bắt đầu bạn nhấn Start

Ở Side bar bên trái bạn có thể kéo thả để thêm node

Phần info của node LND chứa thông tin của node LND gồm :

  • Node type : gồm loại node lighning hay bitcoind
  • Implementation : LND hoặc c-lightning
  • Version : v0.8.0-beta hoặc v0.7.1-beta ,...
  • Status : Stopping hoặc Running

Phần connect là phần hay nhất :

  • GRPC Host và REST Host
  • P2P LN Url : địa chỉ của node
  • API Docs : mở đến trang document của LND

ngoài ra còn TLS Cert, Admin Macaroon và Read-only Macaroon cung cấp dưới dạng path đến file , giá trị dưới dạng HEX, Base64, ... Những giá trị này vô cùng quan trọng trong quá trình dev bạn có thể connect từ code rất đơn giản mà ko phải setup môi trường .

Hãy cùng thử sử dụng những giá trị này để connect với ví Joule nào . Joule là extension ví lightning network

Sau khi cài đặt nhấn Start chọn phần Local node

Phần Node URL điền theo REST Host của Node LND trong Polar cung cấp ở đây mình chọn node Bob REST URL là localhost:8083

Sau đó là điền admin.macaroonreadonly.macaroon chúng ta chỉ cần mở file theo Path mà Polar cung cấp rồi kéo thả 2 file đó vào

Đây là kết quả sau khi đã hoàn thành việc kết nối Node bob vs ví Joule vô cùng đơn giản và ko tốn quá nhiều thời gian .

Ngoài ra phần Actions có thể mở terminal và thao tác bằng lệnh lncli

Có thể Deposit cho node LND

Phần Quick Mine trên navbar là để mine 1 block và bạn cũng có thể cài đặt 1 lần quickmine là bn block

Open channel

Bạn chỉ cần kéo thả các node LND với nhau và điền giá trị tiền khởi tạo cho channel

Sau đó bạn có thể gửi và nhận tiền trong channel và xem đc các giá trị trong channel bằng cách bấm vào đường nối giữa các nốt ( biểu tượng cho Channel )

Những giá trị của app cung cập thực sự rất hữu ích trong quá trình dev Lightning .

Các bạn có thể xem demo chi tiết hơn tại đây :

https://www.youtube.com/watch?v=HInI_G3oYpc&pbjreload=10