Update README for recent changes.
This commit is contained in:
parent
0a7b10d051
commit
3c5d165261
1 changed files with 41 additions and 20 deletions
61
README.md
61
README.md
|
@ -8,28 +8,43 @@ btcwallet is a daemon handling bitcoin wallet functionality for a
|
||||||
single user. It acts as both an RPC client to btcd and an RPC server
|
single user. It acts as both an RPC client to btcd and an RPC server
|
||||||
for wallet clients and legacy RPC applications.
|
for wallet clients and legacy RPC applications.
|
||||||
|
|
||||||
The wallet file format is based on
|
Public and private keys are derived using the heirarchical
|
||||||
[Armory](https://github.com/etotheipi/BitcoinArmory) and provides a
|
deterministic format described by
|
||||||
deterministic wallet where all future generated private keys can be
|
[BIP0032](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki).
|
||||||
recovered from a previous wallet backup. Unencrypted wallets are
|
Unencrypted private keys are not supported and are never written to
|
||||||
unsupported and are never written to disk. This design decision has
|
disk. btcwallet uses the
|
||||||
the consequence of generating new wallets on the fly impossible: a
|
`m/44'/<coin type>'/<account>'/<branch>/<address index>`
|
||||||
client is required to provide a wallet encryption passphrase.
|
HD path for all derived addresses, as described by
|
||||||
|
[BIP0044](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki).
|
||||||
|
|
||||||
|
Due to the sensitive nature of public data in a BIP0032 wallet,
|
||||||
|
btcwallet provides the option of encrypting not just private keys, but
|
||||||
|
public data as well. This is intended to thwart privacy risks where a
|
||||||
|
wallet file is compromised without exposing all current and future
|
||||||
|
addresses (public keys) managed by the wallet. While access to this
|
||||||
|
information would not allow an attacker to spend or steal coins, it
|
||||||
|
does mean they could track all transactions involving your addresses
|
||||||
|
and therefore know your exact balance. In a future release, public data
|
||||||
|
encryption will extend to transactions as well.
|
||||||
|
|
||||||
btcwallet is not an SPV client and requires connecting to a local or
|
btcwallet is not an SPV client and requires connecting to a local or
|
||||||
remote btcd instance for asynchronous blockchain queries and
|
remote btcd instance for asynchronous blockchain queries and
|
||||||
notifications over websockets. Full btcd installation instructions
|
notifications over websockets. Full btcd installation instructions
|
||||||
can be found [here](https://github.com/btcsuite/btcd).
|
can be found [here](https://github.com/btcsuite/btcd). An alternative
|
||||||
|
SPV mode that is compatible with btcd and Bitcoin Core is planned for
|
||||||
|
a future release.
|
||||||
|
|
||||||
As a daemon, btcwallet provides no user interface and an additional
|
No release-ready graphical frontends currently exist, however the
|
||||||
graphical or command line client is required for normal, personal
|
proof-of-concept [btcgui](https://github.com/btcsuite/btcgui) project
|
||||||
wallet usage. Conformal has written
|
shows some of the possibilities of btcwallet. In the coming months a
|
||||||
[btcgui](https://github.com/btcsuite/btcgui) as a graphical client
|
new stable RPC API is planned, at which point a high quality graphical
|
||||||
to btcwallet.
|
frontend can be finished.
|
||||||
|
|
||||||
This project is currently under active development is not production
|
Mainnet support is currently disabled by default. Use of btcwallet on
|
||||||
ready yet. Support for creating and using wallets the main Bitcoin
|
mainnet requires passing the `--mainnet` flag on the command line or
|
||||||
network is currently disabled by default.
|
adding `mainnet=1` to the configuration file. Mainnet will be enabled
|
||||||
|
by default in a future release after further database changes and
|
||||||
|
testing.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
@ -91,6 +106,12 @@ want btcd and btcwallet running.
|
||||||
$ btcd --testnet -u rpcuser -P rpcpass
|
$ btcd --testnet -u rpcuser -P rpcpass
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- Run the following command to create a wallet:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ btcwallet -u rpcuser -P rpcpass --create
|
||||||
|
```
|
||||||
|
|
||||||
- Run the following command to start btcwallet:
|
- Run the following command to start btcwallet:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -110,10 +131,10 @@ $ $EDITOR ~/.btcwallet/btcwallet.conf
|
||||||
|
|
||||||
## Client Usage
|
## Client Usage
|
||||||
|
|
||||||
Clients wishing to use btcwallet must connect to the `ws` endpoint
|
Clients wishing to use btcwallet are recommended to connect to the
|
||||||
over a websocket connection. Messages sent to btcwallet over this
|
`ws` endpoint over a websocket connection. Messages sent to btcwallet
|
||||||
websocket are expected to follow the standard Bitcoin JSON API
|
over this websocket are expected to follow the standard Bitcoin JSON
|
||||||
(partially documented
|
API (partially documented
|
||||||
[here](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list)).
|
[here](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list)).
|
||||||
Websocket connections also enable additional API extensions and
|
Websocket connections also enable additional API extensions and
|
||||||
JSON-RPC notifications (currently undocumented). The btcd packages
|
JSON-RPC notifications (currently undocumented). The btcd packages
|
||||||
|
|
Loading…
Reference in a new issue