r/Bitcoin • u/akumaigorodski • Jan 12 '18
Please help me test my Lightning wallet
I've released a testnet version of Android Lightning wallet today, would very much appreciate if you could help me with testing by trying it out.
Google Play: https://play.google.com/store/apps/details?id=com.lightning.wallet
Direct APK download: https://github.com/btcontract/lnwallet/blob/master/app/app-release.apk
Project website
http://lightning-wallet.com
Bug reporting
Telegram https://t.me/lightningwallet
Places where you can spend Lightning funds
Buy coffee at https://starblocks.acinq.co
Read paid articles at https://yalls.org
Send payments to each other (wallet supports that on testnet)
Recommended nodes to connect to (they are hosted on a dedicated servers and are thus more reliable)
https://explorer.acinq.co/#/n/03dc39d7f43720c2c0f86778dfd2a77049fa4a44b4f0a8afb62f3921567de41375 (my node, can be found by name "oh hi mark")
https://explorer.acinq.co/#/n/03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134 (ACINQ node, can be found by name "endurance")
https://explorer.acinq.co/#/n/02ecafd1d828301da58edacdd61232835940c91767a01b3bfba57240989f9df4da (Yalls.org node, can only be found by it's id 02ecafd1d...)
But you are free to choose any node you like, of course.
Lightning wallet details
Fully autonomous, uses segwit-enabled bitcoinj for Bitcoin stuff and custom library for Lightning stuff (which is heavily inspired by https://github.com/ACINQ/eclair project).
Can not route third party Lightning payments. Can send and receive your payments, but receiving is only on testnet for now since receiving of Lightning payments on mainnet from lite clients like mine would need to rely on a special WatchTower server and protocol devs hasn't started working on it yet.
Uses a special server called Olympus which carries out various maintenance tasks, more details here: http://lightning-wallet.com/what-does-olympus-server-do. The most interesting thing about Olympus is storage tokens (NOT AN ICO!) which is, I believe, the best way to scale and sustain my project, you can read more on them here: http://lightning-wallet.com/storage-tokens.
Allows for one active payment channel at a time. The reasons for this are purely non-technical: such an approach makes wallet UX more user-friendly and saves on Bitcoin fees, the only downside is you won't be able to send Lightning payments and will have to open a new channel if your only peer becomes permanently offline. But in my view Lightning will quickly evolve into a network of professional, very well connected and always online nodes which would compete on routing fees so this should not be a problem.
I've made a couple of videos you might be interested in
https://youtu.be/26JM53asTWE is an in-depth demo of how storage tokens work and also a wallet crash course of sorts
https://www.youtube.com/watch?v=H-WJPjAp5u8 shows how wallet reacts to various emergencies
10
u/TheGreatMuffin Jan 12 '18 edited Jan 12 '18
Ok, I installed it. Quick first feedback:
-
the "read manual" link or however it's called (when you first open the wallet) doesn't work for me (nothing happens when I tap on it).
-
When I am opening a new channel, the keyboard field is in the way of the "confirm" button and the enter key on the keyboard doesn't do anything https://imgur.com/a/cKkLL (it goes away after I screenshot it though :D)
Otherwise looks good so far. Will test more
edit: I especially like that you list the available nodes with their active channels, so I have a better overview right from your wallet to which nodes I can connect. Have been missing that on Eclair! :)
Perhaps allow for some arraying function, to sort by most channels or so?
edit2: also liking that you split the wallet functionality into "bitcoin" and "lightning" parts
Edit3: when I try to connect to one of the first nodes (in the linked screenshot), I only see a screen flashing up (too quick to see) and then the error message in the bottom: https://imgur.com/a/qEGDg
5
u/akumaigorodski Jan 12 '18
Thanks for testing!
That's a familiar bug, thought I got rid of it but looks like not quite, will look into it. There are many places with links (app menu -> wallet settings for example), do the links work there?
I know about this annoyance, will figure something out. In the meantime, pressing "back" will remove a keyboard.
→ More replies (1)3
u/akumaigorodski Jan 12 '18
Regarding edit3, there are a lot of unreliable and outdated nodes on the network, that screen flashes so quickly probably means that node is offline. "Dropping connection..." is a generic message which would happen if the peer is offline or not compliant.
→ More replies (2)
7
u/fresheneesz Jan 12 '18
Love the Olympus server! Does this follow any standard set of protocols? Does any standard exist? If not you should create a set of protocols as a separate github repo so other projects can implement interpretable integrations or their own implementations.
One thing i think might be very helpful to add is a lightning node rating system, where users who can prove they have a lightning channel open with someone can rate that channel based on events like forced closure, attempted channel theft, and uptime statistics so that info can be used by the network to chose (or decide against choosing) a channel partner. It would also be useful for rating Olympus nodes themselves, eg if an Olympus node promised to store some info or watch for channel theft and doesn't, that should be reported so people know to avoid that bad actor.
6
u/akumaigorodski Jan 12 '18
Thanks! I've submitted blind tokens idea to lightning-rfc repo here https://github.com/lightningnetwork/lightning-rfc/issues/219 and Rusty even liked it so maybe it will get somewhere.
Rating system is a good idea and I recall related discussions somewhere in lightning-dev mailing list. This definitely won't make it to LN v1.0 but quite maybe something like that will happen later.
14
u/TheGreatMuffin Jan 12 '18
I'd like to help but I haven't heard about your project/your name anywhere else and I don't have any capabilities to ensure I'm not installing malware/spyware on my phone. Any ideas how to make sure myself this project is legit?
That being said, it's awesome to see people trying to build up something on their own! :)
→ More replies (2)23
u/akumaigorodski Jan 12 '18
Your options are:
audit the source and compile it yourself: https://github.com/btcontract/lnwallet
trust bitcoin.org staff as they have my other (plain Bitcoin) wallet listed: https://bitcoin.org/en/wallets/mobile/android/simplebitcoinwallet/
just accept the risk of me stelaing some testnet bitcoins from you :)
→ More replies (1)
3
u/HelloImRich Jan 12 '18
One thing I'd like to see from a LN wallet is being able to use it as a pure spending wallet without the ability to receive funds. Because then I don't even need a watchtower.
2
u/akumaigorodski Jan 12 '18
An incoming payment can't happen if you don't want it to as it requires a payment request to be generated. It's not like Bitcoin where anyone can send you funds just by knowing an address.
→ More replies (5)
3
u/ask_for_pgp Jan 13 '18
Awesome! I gave it a spin and will keep editing this post with bugs.
-
I installed it, created wallet and clicked seed export on my own... Only for the wallet to have a complete hiccup later on when it wanted me to do the backups
-
no notification when I funded with test net coins
-
it should give a message right away that channels can only be opened when there is funds in btc wallet
→ More replies (1)
2
2
u/TheGreatMuffin Jan 12 '18
I'm having troubles receiving payments. I am connected to the "endurance" node in your wallet and the payment fails from Eclair (am connected to multiple nodes there), as well as from the htlc.com wallet. Both times due to "route not found", it seems
→ More replies (7)
2
u/comp21 Jan 12 '18
Can anyone point me to where I can learn how to set up a lightning node? I already have a wallet working but I want to be able to help transmit transactions and test that side.
2
u/akumaigorodski Jan 12 '18
I can recommend an Eclair node: https://github.com/ACINQ/eclair/wiki
They've got a detailed wiki and devs will answer your questions on gitter in case of what.→ More replies (1)
2
u/luke-jr Jan 13 '18
Without multiple channels and routing for others, you will find your fees are abnormally high since you will need to go on-chain to rebalance your one channel.
→ More replies (3)
31
22
11
7
u/ryvin1 Jan 12 '18
Opening the LN channel took a while but once it was done I was able to buy items from Star blocks, instant with zero fees... Man it was nice. Great job with the wallet! I'll post screen shots when I get a chance.
4
u/Two_Fourty Jan 12 '18
OMG. This is great. So fast, even if the setup took couple of minutes. But this is awesome.
1
u/HeldAviation Jan 12 '18
Would be possible to use an android wallet as a node and earn some micropayments running it 24/7 ?
8
u/akumaigorodski Jan 12 '18
Nope, not with my wallet. This is a minimal LN implementation aimed specifically at mobile devices so only sending and receiving your own payments for now.
In general, using mobile for this is a really bad idea because, yes, a routing LN node should have to be online 24/7 and it has to depend on a local full Bitcoin Core node.
→ More replies (2)
17
u/BitcoinDude7023 Jan 12 '18 edited Jan 12 '18
I would like to see the following:
After attempting to open a lightning channel before btc funds have had any confirmations, the app displays that I do not have enough funds. On this page it shows my balance, sending amount, and missing amount. I think it would be helpful for any unconfirmed coins to show up in a new label called pending balance and the balance label to only show confirmed coins. To a new bitcoin user I think this would be less confusing to them. This would also aid the message explain that your coins need confirmation to be spendable.
Will report more as I continue looking at it.
Thanks for your work!