Coder Social home page Coder Social logo

lightning-power-users / node-launcher Goto Github PK

View Code? Open in Web Editor NEW
356.0 356.0 67.0 9.24 MB

Easiest Bitcoin Lightning desktop app, for Windows, macOS, and Linux

License: MIT License

Python 100.00%
bitcoin desktop-app lightning-network macos python qt5

node-launcher's People

Contributors

driftwoodpalace avatar freehodl avatar hkrugersa avatar jelbazi avatar justinmoon avatar kixunil avatar manecosta avatar maxdignan avatar pierrerochard avatar ryan-lingle avatar tehelsper avatar vindard avatar willcl-ark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-launcher's Issues

Grey out buttons based on availability of underlying service

Grey out launch buttons if nodes are already running, grey out unlock if wallet doesn't exist, grey out initialize and recover if wallet does exist, grey out copy lnd address if lnd is not running, grey out show macaroons if lnd has never been run (directory won't exist), grey out copy lncli command if node is not running

win32cred not defined

during LND wallet creation:

Traceback (most recent call last):
File "lib\site-packages\keyring\backends\Windows.py", line 75, in _get_password
NameError: name 'win32cred' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "node_launcher\gui\network_buttons\lnd_wallet_layout.py", line 98, in create_wallet
File "lib\site-packages\keyring\backends\Windows.py", line 87, in set_password
File "lib\site-packages\keyring\backends\Windows.py", line 79, in _get_password
NameError: name 'pywintypes' is not defined

Linux Support Request (upvote)

Submitting a PR for this is beyond me, but if you want to show support for a Linux release please thumb up this issue.

Is this OK, Pierre? Merci

Create auto-unlock for LND wallet

  1. When a user successfully creates, restores, or unlocks a wallet, the wallet password is saved to the user's system keyring
  2. If the wallet password has been saved to the user's system keyring, the LND unlocker polling will use the user's password instead of the dummy password

ZombieProcess bug on macOS

 File "run.py", line 10, in <module>

  File "node_launcher/gui/launch_widget.py", line 23, in __init__

  File "node_launcher/gui/network_group_box.py", line 25, in __init__

  File "node_launcher/node_set/node_set.py", line 26, in __init__

  File "node_launcher/node_set/bitcoin.py", line 29, in __init__

  File "node_launcher/node_set/bitcoin.py", line 75, in find_running_node

  File "psutil/__init__.py", line 610, in name

  File "psutil/__init__.py", line 663, in cmdline

  File "psutil/_psosx.py", line 342, in wrapper

  File "psutil/_psosx.py", line 426, in cmdline

  File "contextlib.py", line 130, in __exit__

  File "psutil/_psosx.py", line 373, in catch_zombie

psutil._exceptions.ZombieProcess: psutil.ZombieProcess process still exists but it's a zombie (pid=669)

[5596] Failed to execute script run

Install error: no matching distribution found for shiboken2

Steps taken:

  1. Clone repo
  2. Setup Python 3.7 virtual env
  3. Install QT

Error:

$ python -m pip install --index-url=http://download.qt.io/snapshots/ci/pyside/dev/latest pyside2 --trusted-host download.qt.io
Looking in indexes: http://download.qt.io/snapshots/ci/pyside/dev/latest
Collecting pyside2
  Downloading http://download.qt.io/snapshots/ci/pyside/dev/latest/pyside2/PySide2-5.12.0a1.dev1545589540-5.13.0-cp35.cp36.cp37-abi3-manylinux1_x86_64.whl (144.5MB)
    100% |████████████████████████████████| 144.5MB 15.0MB/s 
Collecting shiboken2 (from pyside2)
  Could not find a version that satisfies the requirement shiboken2 (from pyside2) (from versions: )
No matching distribution found for shiboken2 (from pyside2)

Enviroment information:

OS: Ubuntu 18.10

Python version:

$ python --version
Python 3.7.1

Virtual environment:

$ conda env export                                                                           
name: node-launcher
channels:
  - defaults
dependencies:
  - ca-certificates=2018.03.07=0
  - certifi=2018.10.15=py37_0
  - libedit=3.1.20170329=h6b74fdf_2
  - libffi=3.2.1=hd88cf55_4
  - libgcc-ng=8.2.0=hdf63c60_1
  - libstdcxx-ng=8.2.0=hdf63c60_1
  - ncurses=6.1=he6710b0_1
  - openssl=1.1.1a=h7b6447c_0
  - pip=18.1=py37_0
  - python=3.7.1=h0371630_3
  - readline=7.0=h7b6447c_5
  - setuptools=40.6.2=py37_0
  - sqlite=3.25.3=h7b6447c_0
  - tk=8.6.8=hbc83047_0
  - wheel=0.32.3=py37_0
  - xz=5.2.4=h14c3975_4
  - zlib=1.2.11=h7b6447c_3
prefix: /home/torkel/miniconda3/envs/node-launcher

LND crashes on unlock with "unable to sanity check wallet birthday block"

I have a pruned bitcoind 0.17.0.1 started from the launcher and caught up, then start LND, then unlock a wallet from an older LND version. Then LND crashes with the following logs:

2018-12-12 13:46:22.144 [INF] LTND: Version: 0.5.1-beta commit=, build=production, logging=default
2018-12-12 13:46:22.145 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2018-12-12 13:46:22.154 [INF] CHDB: Checking for schema update: latest_version=7, db_version=7
2018-12-12 13:46:22.167 [INF] RPCS: password RPC server listening on 127.0.0.1:10011
2018-12-12 13:46:22.168 [INF] RPCS: password gRPC proxy started at 127.0.0.1:8081
2018-12-12 13:46:22.168 [INF] LTND: Waiting for wallet encryption password. Use lncli create to create a wallet, lncli unlock to unlock an existing wallet, or lncli changepassword to change the password of an existing wallet and unlock it.
2018-12-12 13:46:39.671 [INF] LNWL: Opened wallet
2018-12-12 13:46:39.750 [INF] LTND: Primary chain is set to: bitcoin
2018-12-12 13:46:39.776 [INF] LNWL: Started listening for bitcoind transaction notifications via ZMQ on tcp://127.0.0.1:18503
2018-12-12 13:46:39.776 [INF] LNWL: Started listening for bitcoind block notifications via ZMQ on tcp://127.0.0.1:18502
2018-12-12 13:46:39.777 [INF] LTND: Initializing bitcoind backed fee estimator
2018-12-12 13:46:40.645 [INF] LNWL: The wallet has been unlocked without a time limit
2018-12-12 13:46:40.653 [INF] LTND: LightningWallet opened
2018-12-12 13:46:40.668 [INF] HSWC: Restoring in-memory circuit state from disk
2018-12-12 13:46:40.673 [INF] HSWC: Payment circuits loaded: num_pending=0, num_open=0
2018-12-12 13:46:40.683 [INF] RPCS: RPC server listening on 127.0.0.1:10011
2018-12-12 13:46:40.686 [INF] RPCS: gRPC proxy started at 127.0.0.1:8081
2018-12-12 13:46:40.688 [INF] LTND: Waiting for chain backend to finish sync, start_height=553523
2018-12-12 13:46:45.355 [ERR] LNWL: unable to sanity check wallet birthday block: failed to store sync information 0000000000000000004d81d50fb2e161c606530c80040fa33e1408f8f948239c: failed to fetch block hash for height 513944: block not found
panic: unable to sanity check wallet birthday block: failed to store sync information 0000000000000000004d81d50fb2e161c606530c80040fa33e1408f8f948239c: failed to fetch block hash for height 513944: block not found

goroutine 78 [running]:
github.com/lightningnetwork/lnd/vendor/github.com/btcsuite/btcwallet/wallet.(*Wallet).handleChainNotifications(0xc000086140)
/Users/roasbeef/gocode/src/github.com/lightningnetwork/lnd/vendor/github.com/btcsuite/btcwallet/wallet/chainntfns.go:111 +0x1145
created by github.com/lightningnetwork/lnd/vendor/github.com/btcsuite/btcwallet/wallet.(*Wallet).SynchronizeRPC
/Users/roasbeef/gocode/src/github.com/lightningnetwork/lnd/vendor/github.com/btcsuite/btcwallet/wallet/wallet.go:186 +0x15d

Integrate - Ride The Lightning UI

test.zip

Hi @PierreRochard, as discussed opening an issue to integrate RTL Web UI with node launcher.

Prerequisite
Install RTL:
git clone https://github.com/ShahanaFarooqui/RTL.git
cd RTL
npm install
Start the RTL Webserver:
node rtl --lndir <full path for the macaroon files>
Example: node rtl --lndir C:\Users\pierre\AppData\Local\Lnd\data\chain\bitcoin\testnet

Details instructions below:
https://github.com/ShahanaFarooqui/RTL

Sample Python code to launch RTL

import os
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import *

class WebPage(QWebEngineView):
def init(self, parent=None):
QWebEngineView.init(self)
self.current_url = ''
self.load(QUrl("http://localhost:3000"))
self.loadFinished.connect(self._on_load_finished)

def _on_load_finished(self):
    print("Url Loaded")

class MainWindow(QMainWindow):
def init(self, parent=None):
super(MainWindow, self).init(parent)
self.add_web_widet()
self.show()

def add_web_widet(self):
    self.web_widget = WebPage(self)
    self.setWindowTitle('RTL')
    self.setCentralWidget(self.web_widget)

app = QApplication(sys.argv)
main_window = MainWindow()
main_window.showMaximized()
sys.exit(app.exec_())

Can't launch on MacOS (10.14.1)

The Node Launcher app dosent seems to work on the latest MacOs. If I open the app close immediately, no GUI is showing, no error message.

Unable to synchronize wallet to chain when unlocking lnd wallet

I'm using MacOS 10.14.1
I've synced the Bitcoin blockchain, created a Lightning wallet recorded the seed phrase. Now when I try to Unlock the wallet I get the following in my terminal:
2018-12-14 10:35:08.661 [INF] LTND: Version: 0.5.1-beta commit=, build=production, logging=default
2018-12-14 10:35:08.661 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2018-12-14 10:35:08.661 [INF] CHDB: Checking for schema update: latest_version=7, db_version=7
2018-12-14 10:35:08.670 [INF] RPCS: password RPC server listening on 127.0.0.1:10011
2018-12-14 10:35:08.670 [INF] RPCS: password gRPC proxy started at 127.0.0.1:8081
2018-12-14 10:35:08.671 [INF] LTND: Waiting for wallet encryption password. Use lncli create to create a wallet, lncli unlock to unlock an existing wallet, or lncli changepassword to change the password of an existing wallet and unlock it.
2018-12-14 10:35:33.099 [INF] LNWL: Opened wallet
2018-12-14 10:35:33.156 [INF] LTND: Primary chain is set to: bitcoin
2018-12-14 10:35:33.159 [INF] LTND: Initializing bitcoind backed fee estimator
2018-12-14 10:35:33.159 [INF] LNWL: Started listening for bitcoind block notifications via ZMQ on tcp://127.0.0.1:18502
2018-12-14 10:35:33.159 [INF] LNWL: Started listening for bitcoind transaction notifications via ZMQ on tcp://127.0.0.1:18503
2018-12-14 10:35:33.890 [INF] LNWL: The wallet has been unlocked without a time limit
2018-12-14 10:35:33.891 [INF] LTND: LightningWallet opened
2018-12-14 10:35:33.893 [INF] LNWL: Catching up block hashes to height 553764, this will take a while...
2018-12-14 10:35:33.899 [INF] HSWC: Restoring in-memory circuit state from disk
2018-12-14 10:35:33.900 [INF] LNWL: Caught up to height 0
2018-12-14 10:35:33.900 [INF] HSWC: Payment circuits loaded: num_pending=0, num_open=0
2018-12-14 10:35:33.901 [INF] RPCS: RPC server listening on 127.0.0.1:10011
2018-12-14 10:35:33.901 [INF] RPCS: gRPC proxy started at 127.0.0.1:8081
2018-12-14 10:35:33.902 [INF] LTND: Waiting for chain backend to finish sync, start_height=553764
2018-12-14 10:36:05.802 [WRN] LNWL: Unable to synchronize wallet to chain: Post http://127.0.0.1:8332: dial tcp 127.0.0.1:8332: connect: operation timed out

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.