{"id":13746703,"url":"https://github.com/decred/dcrwallet","last_synced_at":"2026-01-12T00:56:44.200Z","repository":{"id":3667728,"uuid":"50457727","full_name":"decred/dcrwallet","owner":"decred","description":"A secure Decred wallet daemon written in Go (golang).","archived":false,"fork":false,"pushed_at":"2025-05-07T20:00:37.000Z","size":16082,"stargazers_count":229,"open_issues_count":142,"forks_count":161,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-05-07T21:19:23.615Z","etag":null,"topics":["blockchain","cryptocurrency","decred","golang"],"latest_commit_sha":null,"homepage":"https://decred.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"btcsuite/btcwallet","license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/decred.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-01-26T20:40:34.000Z","updated_at":"2025-05-07T20:00:41.000Z","dependencies_parsed_at":"2023-02-16T07:45:46.085Z","dependency_job_id":"ef018395-1218-47c7-97da-6aaf0623786a","html_url":"https://github.com/decred/dcrwallet","commit_stats":{"total_commits":2151,"total_committers":78,"mean_commits":"27.576923076923077","dds":0.6531845653184565,"last_synced_commit":"1683d3ae49b69df61cc149b8bffb5e9e20c283b3"},"previous_names":["decred/btcwallet"],"tags_count":220,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrwallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrwallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrwallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrwallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decred","download_url":"https://codeload.github.com/decred/dcrwallet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954641,"owners_count":21830936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","cryptocurrency","decred","golang"],"created_at":"2024-08-03T06:00:59.083Z","updated_at":"2026-01-12T00:56:44.187Z","avatar_url":"https://github.com/decred.png","language":"Go","funding_links":[],"categories":["Privacy Coins","Go"],"sub_categories":[],"readme":"dcrwallet\n=========\n\ndcrwallet is a daemon handling Decred wallet functionality.  All interaction\nwith the wallet is performed over RPC.\n\nPublic and private keys are derived using the hierarchical\ndeterministic format described by\n[BIP0032](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki).\nUnencrypted private keys are not supported and are never written to\ndisk.  dcrwallet uses the\n`m/44'/\u003ccoin type\u003e'/\u003caccount\u003e'/\u003cbranch\u003e/\u003caddress index\u003e`\nHD path for all derived addresses, as described by\n[BIP0044](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki).\n\ndcrwallet provides two modes of operation to connect to the Decred\nnetwork.  The first (and default) is to communicate with a single\ntrusted `dcrd` instance using JSON-RPC.  The second is a\nprivacy-preserving Simplified Payment Verification (SPV) mode (enabled\nwith the `--spv` flag) where the wallet connects either to specified\npeers (with `--spvconnect`) or peers discovered from seeders and other\npeers. Both modes can be switched between with just a restart of the\nwallet.  It is advised to avoid SPV mode for heavily-used wallets\nwhich require downloading most blocks regardless.\n\nNot all functionality is available when running in SPV mode.  Some of\nthese features may become available in future versions, but only if a\nconsensus vote passes to activate the required changes.  Currently,\nthe following features are disabled or unavailable to SPV wallets:\n\n  * Voting\n\n  * Revoking tickets before expiry\n\n  * Determining exact number of live and missed tickets (as opposed to\n    simply unspent).\n\nWallet clients interact with the wallet using one of two RPC servers:\n\n  1. A JSON-RPC server inspired by the Bitcoin Core rpc server\n\n     The JSON-RPC server exists to ease the migration of wallet applications\n     from Core, but complete compatibility is not guaranteed.  Some portions of\n     the API (and especially accounts) have to work differently due to other\n     design decisions (mostly due to BIP0044).  However, if you find a\n     compatibility issue and feel that it could be reasonably supported, please\n     report an issue.  This server is enabled by default as long as a username\n     and password are provided.\n\n  2. A gRPC server\n\n     The gRPC server uses a new API built for dcrwallet, but the API is not\n     stabilized.  This server is enabled by default and may be disabled with\n     the config option `--nogrpc`.  If you don't mind applications breaking\n     due to API changes, don't want to deal with issues of the JSON-RPC API, or\n     need notifications for changes to the wallet, this is the RPC server to\n     use. The gRPC server is documented [here](./rpc/documentation/README.md).\n\n## Installing and updating\n\n### Binaries (Windows/Linux/macOS)\n\nBinary releases are provided for common operating systems and architectures.\nPlease note that dcrwallet is CLI only. It is included in the\n[CLI app suite](https://github.com/decred/decred-release/releases/latest).\nIf you would prefer a graphical user interface (GUI) instead, consider\ndownloading the GUI wallet [Decrediton](https://github.com/decred/decrediton).\n\nhttps://decred.org/downloads/\n\n* How to verify binaries before installing: https://docs.decred.org/advanced/verifying-binaries/\n* How to install the CLI Suite: https://docs.decred.org/wallets/cli/cli-installation/\n* How to install Decrediton: https://docs.decred.org/wallets/decrediton/decrediton-setup/\n\n### Build from source (all platforms)\n\n- **Install Go 1.24 or 1.25**\n\n  Installation instructions can be found here: https://golang.org/doc/install.\n  Ensure Go was installed properly and is a supported version:\n  ```sh\n  $ go version\n  $ go env GOROOT GOPATH\n  ```\n  NOTE: `GOROOT` and `GOPATH` must not be on the same path. It is recommended\n  to add `$GOPATH/bin` to your `PATH` according to the Golang.org instructions.\n\n- **Build or Update dcrwallet**\n\n  Since dcrwallet is a single Go module, it's possible to use a single command\n  to download, build, and install without needing to clone the repo. Run:\n\n  ```sh\n  $ go install decred.org/dcrwallet/v5@master\n  ```\n\n  to build the latest master branch, or:\n\n  ```sh\n  $ go install decred.org/dcrwallet/v4@latest\n  ```\n\n  for the latest released version.\n\n  Any version, branch, or tag may be appended following a `@` character after\n  the package name.  The implicit default is to build `@latest`, which is the\n  latest semantic version tag.  Building `@master` will build the latest\n  development version.  The module name, including any `/vN` suffix, must match\n  the `module` line in the `go.mod` at that version.  See `go help install`\n  for more details.\n\n  The `dcrwallet` executable will be installed to `$GOPATH/bin`.  `GOPATH`\n  defaults to `$HOME/go` (or `%USERPROFILE%\\go` on Windows).\n\n## Getting Started\n\ndcrwallet can connect to the Decred blockchain using either [dcrd](https://github.com/decred/dcrd)\nor by running in [Simple Payment Verification (SPV)](https://docs.decred.org/wallets/spv/)\nmode. Commands should be run in `cmd.exe` or PowerShell on Windows, or any\nterminal emulator on *nix.\n\n- Run the following command to create a wallet:\n\n```sh\ndcrwallet --create\n```\n\n- To use dcrwallet in SPV mode:\n\n```sh\ndcrwallet --spv\n```\n\ndcrwallet will find external full node peers. It will take a few minutes to\ndownload the blockchain headers and filters, but it will not download full blocks.\n\n- To use dcrwallet using a localhost dcrd:\n\nYou will need to install both [dcrd](https://github.com/decred/dcrd) and\n[dcrctl](https://github.com/decred/dcrctl). `dcrctl` is the client that controls\n`dcrd` and `dcrwallet` via remote procedure call (RPC).\n\nPlease follow the instructions in the documentation, beginning with\n[Startup Basics](https://docs.decred.org/wallets/cli/startup-basics/)\n\n## Running Tests\n\nAll tests may be run using the script `run_tests.sh`. Generally, Decred only\nsupports the current and previous major versions of Go.\n\n```sh\n./run_tests.sh\n```\n\n## Contact\n\nIf you have any further questions you can find us at:\n\nhttps://decred.org/community/\n\n## Issue Tracker\n\nThe [integrated github issue tracker](https://github.com/decred/dcrwallet/issues)\nis used for this project.\n\n## Documentation\n\nThe documentation for dcrwallet is a work-in-progress.  It is located in the\n[docs](https://github.com/decred/dcrwallet/tree/master/docs) folder.\n\nAdditional documentation can be found on\n[docs.decred.org](https://docs.decred.org/wallets/cli/dcrwallet-setup/).\n\n## License\n\ndcrwallet is licensed under the liberal ISC License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecred%2Fdcrwallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecred%2Fdcrwallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecred%2Fdcrwallet/lists"}