Bitcoin Forum
April 27, 2024, 07:43:57 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Use your Bitcoin Core node as a mobile web app wallet on your phone [with BIP39]  (Read 215 times)
BTCapsule (OP)
Member
**
Offline Offline

Activity: 72
Merit: 78


View Profile
November 28, 2023, 11:10:47 PM
Last edit: December 11, 2023, 12:55:27 AM by BTCapsule
Merited by ABCbits (3), Findingnemo (2), Husna QA (1)
 #1

I have created a simple nodejs app that makes RPC calls to your node, and then creates a secure tunnel to view your localhost on your phone.

There is a lot of work left to do, but it can execute some basic functions:

• balance and transactions are displayed
• choose between your various wallets
• generate a receive address with QR code
• scan QR codes to send Bitcoin (fee set to economical for now)

You can also save the website to your homescreen, and it will open in fullscreen like a regular app.

I hope to encourage people to run a full pruned node and become economic nodes.

https://github.com/BTCapsule/soverynode

Video of sending testnet Bitcoin from my node on my iPhone:

https://v.nostr.build/nx8g.mp4
1714247037
Hero Member
*
Offline Offline

Posts: 1714247037

View Profile Personal Message (Offline)

Ignore
1714247037
Reply with quote  #2

1714247037
Report to moderator
Once a transaction has 6 confirmations, it is extremely unlikely that an attacker without at least 50% of the network's computation power would be able to reverse it.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
BTCapsule (OP)
Member
**
Offline Offline

Activity: 72
Merit: 78


View Profile
November 30, 2023, 02:37:39 AM
 #2

NotATether
Legendary
*
Offline Offline

Activity: 1582
Merit: 6695


bitcoincleanup.com / bitmixlist.org


View Profile WWW
November 30, 2023, 06:48:31 AM
 #3

It's great, but I sure hope you provide an installation script, because certainly, this is not going to be hosted on any public website.

Maybe it can even edit the /etc/hosts and make a local domain name for the browser to get to this PWA instead of using an IP address. Since you did mention that it's intended for mobile (mainly, I guess).

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
BTCapsule (OP)
Member
**
Offline Offline

Activity: 72
Merit: 78


View Profile
November 30, 2023, 03:28:18 PM
Last edit: December 02, 2023, 10:24:51 PM by Mr. Big
 #4

It's great, but I sure hope you provide an installation script, because certainly, this is not going to be hosted on any public website.

Maybe it can even edit the /etc/hosts and make a local domain name for the browser to get to this PWA instead of using an IP address. Since you did mention that it's intended for mobile (mainly, I guess).

The website provided by localtunnel is somewhat random, and I may be able to make it longer and more secure. It’s your own personal url, but it could be better.

I’m working on options to self host. It looks like this will require opening ports on your router and installing an SSL, so I’m not sure if that can be easily solved. This may just be a trade off. Personally, I would rather use someone else’s server to display a GUI of my node, than to trust someone else’s node.



The terminal will provide a link. Follow that link on your mobile browser. Enter your PUBLIC IP address.

With so many ISP assign dynamic IP address to their customer, it doesn't seem to be practical. Entering new IP address when you reboot the modem or ISP assign new IP address after some time is rather cumbersome.

I’m working on self hosting options, but I may be able to remove the need to type in your IP address. You can also delete all the localtunnel code and use ngrok to tunnel the wallet, but ngrok is not open source. It has some nice features though.

Eventually, the plan is to have an executable that you just open and immediately have your url and wallet without friction.



The terminal will provide a link. Follow that link on your mobile browser. Enter your PUBLIC IP address.

With so many ISP assign dynamic IP address to their customer, it doesn't seem to be practical. Entering new IP address when you reboot the modem or ISP assign new IP address after some time is rather cumbersome.

I have replaced localtunnel with tunnelmole, so now entering the public IP is no longer required. That was some major friction that I’m glad is gone. I may be able to edit the conf file automatically too, but it might be best to leave that to the user.
alecfisker
Jr. Member
*
Offline Offline

Activity: 65
Merit: 3


View Profile
December 08, 2023, 12:22:00 PM
 #5

phone SD card SDUC is up to 128 TB
have to be able host local node

BTCapsule (OP)
Member
**
Offline Offline

Activity: 72
Merit: 78


View Profile
December 11, 2023, 12:54:43 AM
Last edit: December 11, 2023, 01:19:59 PM by BTCapsule
 #6

Added support for BIP39

Bitcoin Core is not compatible with BIP39, but now we can do it anyway  Wink

Also, use the -testnet flag when running node.js to use soverynode as a mobile testnet wallet

https://github.com/BTCapsule/soverynode
BTCapsule (OP)
Member
**
Offline Offline

Activity: 72
Merit: 78


View Profile
December 21, 2023, 04:24:45 AM
 #7

It’s been a few days, and I’m just wondering if anyone has had a chance to try out soverynode? Is there something about it that’s holding you back? I know it needs a lot of work, but any feedback would be greatly appreciated 😊
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!