lbcwallet

command module
v0.13.111 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2022 License: ISC Imports: 36 Imported by: 0

README

lbcwallet

lbcwallet implements HD Wallet functionality which conforms to BIP0032, BIP0043, and BIP0044.

Security

We take security seriously. Please contact security regarding any security issues. Our PGP key is here if you need it.

Build from Source Code

Requires Go 1.19 or newer. Install Go according to its installation instructions.

git clone https://github.com/lbryio/lbcwallet
cd lbcwallet
go build .

lbcd & lbcwallet

lbcwallet is not an SPV client and requires connecting to a lbcd node for asynchronous blockchain queries and notifications over websockets.

lbcwallet can serve wallet related RPCs and proxy lbcd RPCs to the assocated lbcd. It's sufficient for a user to connect just the lbcwallet instead of both.

sequenceDiagram
    actor C as lbcctl
    participant W as lbcwallet (port: 9244)
    participant D as lbcd (port: 9245)

    rect rgb(200,200,200)
    Note over C,W: lbcctl --wallet balance
    C ->>+ W: getbalance
    W -->>- C: response
    end

    rect rgb(200,200,200)
    Note over C,D: lbcctl --wallet getblockcount (lbcd RPC service proxied by lbcwallet)
    C ->>+ W: getblockcount
    W ->>+ D: getblockcount
    D -->>- W: response
    W -->>- C: response
    end

Getting Started

Create a new wallet with a randomly generated seed or an existing one.

lbcwallet --create

Do you have an existing wallet seed you want to use? (n/no/y/yes) [no]: no
Your wallet generation seed is: 3d005498ad5e9b7439b857249e328ec34e21845b7d1a7d2a5641d4050c02d0da

The created wallet protects the seed with a default passphrase ("passphrase"), which can be override with -p option:

lbcwallet --create -p my-passphrase

Start wallet server, and connect it to a lbcd instance.

lbcwallet --rpcuser=rpcuser --rpcpass=rpcpass # --rpcconnect=localhost:9245

At startup, the wallet will try to unlock itself with the default passphrase (passphrase) or an user provided one (using -p option).

If the passphrase does not match, the wallet remains locked. User can lock/unlock the wallet using walletlock and walletpassphrase RPCs.

lbcwallet --rpcuser=rpcuser --rpcpass=rpcpass -p my_passphrase

Contributing

Contributions to this project are welcome, encouraged, and compensated. The integrated github issue tracker is used for this project. All pull requests will be considered.

License

lbcwallet is licensed under the liberal ISC License.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
zero
Package zero contains functions to clear data from byte slices and multi-precision integers.
Package zero contains functions to clear data from byte slices and multi-precision integers.
rpc
Package waddrmgr provides a secure hierarchical deterministic wallet address manager.
Package waddrmgr provides a secure hierarchical deterministic wallet address manager.
Package wallet provides ...
Package wallet provides ...
txauthor
Package txauthor provides transaction creation code for wallets.
Package txauthor provides transaction creation code for wallets.
txrules
Package txrules provides transaction rules that should be followed by transaction authors for wide mempool acceptance and quick mining.
Package txrules provides transaction rules that should be followed by transaction authors for wide mempool acceptance and quick mining.
Package walletdb provides a namespaced database interface for lbcwallet.
Package walletdb provides a namespaced database interface for lbcwallet.
bdb
Package bdb implements an instance of walletdb that uses boltdb for the backing datastore.
Package bdb implements an instance of walletdb that uses boltdb for the backing datastore.
walletdbtest
Package walletdbtest provides exported tests that can be imported and consumed by walletdb driver tests to help ensure that drivers confirm to the database driver interface correctly.
Package walletdbtest provides exported tests that can be imported and consumed by walletdb driver tests to help ensure that drivers confirm to the database driver interface correctly.
Package wtxmgr provides an implementation of a transaction database handling spend tracking for a bitcoin wallet.
Package wtxmgr provides an implementation of a transaction database handling spend tracking for a bitcoin wallet.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL