Fully Noded®
Self sovereign, secure, powerful, easy to use wallet that utilizes your own Bitcoin Core node as a backend. Providing an easy to use interface to interact with your nodes non wallet capabilities. Fully Noded® wallets are powered by PSBT's and descriptors. Fully Noded® acts as an offline signer using your node as a watch-only wallet as well as giving you full unfettered access to every wallet.dat in your nodes .bitcoin
directory. C-Lightning and LND compatible for instant, unfairly cheap payments.
Build from source
- Download Xcode
git clone https://github.com/Fonta1n3/FullyNoded.git
cd FullyNoded
- Double click
FullyNoded.xcodeproj
- Click the play button in the top left bar of Xcode to run the app
Reproducible builds
- Go to releases
- Download the
SHA256SUMS
file and open it with a text editor FullyNoded.app.zip
andsource.zip
are reproducible- In a terminal run
shasum -a 256 FullyNoded.app.zip
(or whichever file you would like) the output should match what you see in theSHA256SUMS
text file for the respective file - All files are signed with my pgp key
1C72 2776 3647 A221 6E02 E539 025E 9AD2 D3AC 0FCA
[email protected] - To run the app you can double click the
FullyNoded.app.zip
file (Xcode not required) - to run via source code just unzip
source.zip
, double click the folder, and double clickFullyNoded.xcodeproj
which will launch the source code via Xcode
Getting started
- On your mac
- Download Fully Noded® macOS
- Download Bitcoin Core https://bitcoincore.org/en/download/
- Or for best security and ease of use download GordianServer which will harden your mac for best security practices and install Bitcoin Core, Tor and C-Lightning with one click.
- Start Bitcoin Core by double clicking it.
- Start Fully Noded by double clicking it.
- Fully Noded® will prompt you to add a node. Get your
rpc
credentials from yourbitcoin.conf
file which can be found at/Users/<username>/Library/Application Support/Bitcoin/bitcoin.conf
and add them to FN when adding your node. By default FN will add the correct address for your node, this can be customized for remote connections for advanced users. - Once your node is added and the home screen has loaded, tap the "antenna" button on the home screen:
- Download Fully Noded® macOS
- On your mobile device
Cost
Redistributing Fully Noded® Code on the App Store
Even though this project is open source, this does not mean you can reuse this code when distributing closed source commercial products. Please contact us to discuss licensing options before you start building your product.
If you are an open source project, please contact us to arrange for an App Store redistribution exception. For more information about why this is required, please read this blog post from Open Whisper Systems.
Cost for End Users
Downloading the Fully Noded® iOS app is 100% free because it is important that all people around the world have unrestricted access to a private, self sovereign means of using Bitcoin. However, developing and supporting this project is hard work and costs real money. Please help support the development of this project!
- GitHub Sponsors
- ⚡️ Tor lightning donation (Tor browser required)
- 🔗 Bitcoin
bc1q6xw40gsm86yk78dlfun70nt7meh2nq9j7sc7ym
- The preferred method of donation is via the app itself, simply tap the
♥️ button when creating a transaction and it will automatically load a donation address which is derived from a hard coded xpub within the app:
Why Fully Noded®?
- Privacy. Majority of existing Bitcoin wallets are powered by someone else's node, this causes complete and utter loss of privacy. By running your own node and utilizing it via a Tor hidden service you are maintaining a high level of privacy.
- Security. All communications to your node are done within the Tor network, this means your IP is never exposed, your communications to your node are heavily encrypted, this is by default and not possible to opt out of. The app allows you to utilize Tor V3 authentication for first in class security, in short this means you self authenticate your device and no other device will be able to connect to your node. The app by default never uses your node as a hot wallet and instead keeps your seed heavily encrypted and securely stored on your iOS device, private keys never touch a network request, Tor or otherwise. With Fully Noded® architecture you can always keep your node completely behind a firewall and access it securely from anywhere in the world.
- Sovereignty. You are in total control, you run a self hosted server which then powers your mobile wallet. There is no middle man which can deny you access to your own server. You are in control of your private keys and utxo's.
- Censorship Resistance. If you rely on a companies' server to power your wallet you are inherently relying on them, they can at any time disable your connection to their servers, shut them off or be forced to deny you service. When using Fully Noded® you never have to be concerned about a third party censoring your payments, you are quite literally your own bank.
- Recovery. Users may recover any wallet with the app, simply create a Recovery wallet with BIP39 seed words and automatically recover every popular wallet in one fell swoop. For advanced users you may create a descriptor of any type and import it with the app, this allows every wallet type imaginable to be recovered. If you have existing wallets on your node which are watch-only you may add BIP39 seed words to the app to make them spendable.
Manual Setup - advanced
Docs
- Wallet usage
- Bitcoin Core (node) related
- Importing a wallet from Specter
- Quick Connect uri
- How does it work?
- Recovery
- Lightning
Medium Posts
Youtube Tutorials
- Get started
- Set and reset a password to lock the app, enable and disable biometrics
- Coldcard single signature wallet
- Coldcard multi signature wallet
- Create, spend from and recover a multisig wallet
- Import xpub
- Coin Control
- Batching
- DIY Coinjoins
- Wallet Details
PGP
- Peter Denton (new): 1C72 2776 3647 A221 6E02 E539 025E 9AD2 D3AC 0FCA
- Peter Denton (old): 3B37 97FA 0AE8 4BE5 B440 6591 8564 01D7 121C 32FC
Contributing
Thank you for your interest in contributing to Fully Noded®! To avoid potential legal headaches and to allow distribution on Apple's App Store please sign our CLA (Contributors License Agreement).
- Sign the CLA, and email it to [email protected].
- Fork the project and (preferably) work in a feature branch.
- Open a pull request on GitHub adding your signed CLA here.
- All commits must be pgp signed, see this guide.
- Thank you!
License
MIT "Commons Clause" License Condition v1.0
If you would like to relicense this code to distribute it on the App Store, please contact me at [email protected].
Third-party Libraries
This software additionally references or incorporates the following sources of intellectual property, the license terms for which are set forth in the sources themselves:
- Credit to Chat-Secure Readme.md for inspiring the layout/format and some of the text of this document.
- Credit to Blockchain Commons for the format of the CLA.
The following dependencies are bundled with the Fully Noded®, but are under terms of a separate license:
- Tor for connecting to your node more privately and securely.
- Libwally-Swift which relies on Libwally-Core v0.7.7 for converting cryptographically secure entropy to BIP39 words, deriving HD keys and most importantly signing psbt's.
- DescriptorParser.swift from Blockchain Commons which is under the spdx:BSD-2-Clause Plus Patent License.
- Base32 built by @norio-nomura - for Tor V3 authentication key encoding which is licensed under The MIT License (MIT).
- Base58 from @LukeDash-jr and the Waves Platform which is licensed under The MIT License (MIT). Used for converting Slip0132 extended keys to xpubs/xprvs.
- The contents of the UR directory (excluding the UR.swift file which falls under Fully Noded license) from Blockchain Commons which is under the spdx:BSD-2-Clause Plus Patent License.