Hodler-Wallet is an open source cryptocurrency wallet written for Hodler.
Hodler-Wallet is composed of offline-application (Hodler) and online-application (Porter).
Porter supports custom btcd, ltcd, bchd nodes, and it is safer and faster to use self-built nodes.
Types currently supported by Hodler-Wallet 0.3.0:
- Bitcoin
- Litecoin
- Bitcoin Cash
- Bitcoin SV
- Ethereum
- Ethereum ERC20 token
- Ripple
Supported platforms:
- Windows
- Macos
- Linux (Ubuntu)
- Android
- iOS (Need to manually compile and install)
Twitter: https://twitter.com/yancaitech
Hodler is an offline wallet application. For key security, it should be run on devices without WiFi / Bluetooth and Internet.
Hodler uses the root key to generate private keys and addresses for various cryptocurrencies.
Hodler receives and transmits crypto currency by communicating with the Porter application, and by using the camera to scan the QR code, Hodler and the Porter application communicate.
Porter is an auxiliary tool used by Hodler. It can exchange information with the Hodler application and assist in the transmission of crypto currency addresses and transactions.
Porter itself does not store any key, only store the address and transaction content, and send the transaction by calling the blockchain-related service interface on the network.
The main function of Porter is to generate transactions from addresses, and then pass unsigned transactions to the Hodler application through QR codes. Hodler uses the corresponding private key to sign the transaction, and then also passes the signed transaction to Porter through the QR code. Finally Porter broadcasts the signed transaction to the blockchain to complete the transaction.
We host prebuilt binaries over at our distributions page.
Android Google Play:
From there:
- Click the blue "Download Hodler / Porter" on the right side of the page.
- Desktop version Open/extract the archive.
- Android version install the .apk file.
$ sudo dpkg -i porter-0.1.0.deb
$ sudo dpkg -i hodler-0.1.0.deb
Hodler-Wallet's build system requires Go 1.14 and some standard build tools:
- Qt 5.12.8
- Go 1.14.2
- gomobile
- Git
- GCC (or some other go compatible C Compiler) (optional)
- VS 2017 C++
- XCode
- Android SDK
The build process for Hodler-Wallet requires Go 1.14.2 or higher. If you don't have it: Download Go 1.14+.
You'll need to add Go's bin directories to your $PATH
environment variable e.g., by adding these lines to your /etc/profile
(for a system-wide installation) or $HOME/.profile
:
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH/bin
(If you run into trouble, see the Go install instructions).
Hodler-Wallet requires gomobile, If you don't have it: Go mobile
Compile mobile rpc library:
go get -u github.com/yancaitech/go-hodler-rpc
cd go-hodler-rpc/coinsrpc
gomobile init
gomobile bind -target=android
gomobile bind -target=ios
Replace to
- hodler-wallet\hodler\android\libs\coinsrpc.aar
- hodler-wallet\porter\android\libs\coinsrpc.aar
- hodler-wallet\hodler\ios\Coinsrpc.framework
Compile desktop rpc library:
cd go-hodler-rpc
go build main.go
Replace to
- \hodler-wallet\hodler\win\coinsrpc
- \hodler-wallet\hodler\linux\coinsrpc
- \hodler-wallet\hodler\macos\coinsrpc
The build process for Hodler-Wallet requires Qt 5.12.8. If you don't have it: Download Qt 5.12.8
If you use macos platform, you need to download XCode. Windows platform, need to download VS 2017.
To compile apk for android platform, you need to download Android SDK.
$ git clone https://github.com/yancaitech/hodler-wallet
Use Qt Creator to open the project file
- /hodler-wallet/hodler/hodler.pro
- /hodler-wallet/porter/porter.pro
and select the corresponding platform to compile.
- Some platforms may require manual configuration of OpenSSL
See also: https://github.com/yancaitech/hodler-wallet/doc
- Use two devices to run Hodler and Porter
- Hodler initializes the root key
- Receive bitcoin, transfer it from other websites to the bitcoin address displayed by Hodler
- Send bitcoin, use Porter to scan the QR code of the bitcoin address displayed by Hodler
- Use "Create transaction", then use Hodler to scan the QR code and sign the transaction
- Use Porter to scan the signed transaction QR code and send it to the blockchain network
Some development dependencies:
- Hodler rpc: go-hodler-rpc
- Hodler keys: go-hodler-keys
- Hodler utils: go-utils
Description: Hodler manages the keys and addresses, and signs the transactions passed by Porter. Porter generates transactions and broadcasts the signed transactions passed by Porter to the blockchain network.
Description: The root key is a 256-bit number, managed by mnemonic words, and each subkey is divided by bip32's m1 and m2.
The donation to this project will be used for development, maintenance, and deployment of blockchain service nodes.
bitcoin:
litecoin:
- LYdhar6MnvWvbkXg1NHdDiVgKMeUd3qZKU
bitcoincash:
- qq8n5ys4kgem8huhj669vesttq7dyarmxsse8dep88
ethereum:
- 0x33835198dd1747b8fb4e688c76ac79457c82cc04
ripple:
- rDi3LBiM7UTcDtx9wnPXf83k4BuX7KUy6o
The Hodler-Wallet project is under GNU GENERAL PUBLIC LICENSE version 3:
- GNU GENERAL PUBLIC LICENSE (GPLv3)
Copyright © 2020 yancaitech yancaitech@gmail.com