ardocratandwiesche 9e3ec0ed5b Global config instance (#769)
* config: global instance

* fix: cli tests

* fix: owner api tests

* config: save tor config

* fix: owner rpc tests

* fix: set config file path on init and owner api call

* tor: store launched services, get global config at command loop, remove unused listen args, check for empty global config to set default, do not save empty tor config at owner

* api: update config in memory after successful file write

* arti: restart proxy in loop

* fix: comment for tor config save

* config: set or init, update without error

* config: scoped tor config

* build: update lock file

* config: ability to store multiple configurations at memory from config path

* tor: restart service on config change

* fix: owner api test

* foreign: pass tor config from args, stop service, error handling

* arti: move runtime wrapper to single file

* config: read existing config from file at create_config

* config: handle error on read

* arti: single dir for cache

* foreign: register config listener before launch

* config: save temp

* config: remove unused error type

* config: make path and members not optional, return an error on config creation if it exists, pass default tor config to send if not set

* arti: non public runtime wrapper

* config: migrate comments

* fix: rpc tests

* config: return from cache if exists

* config: save disabled tor config when null provided at owner and tor section was not set

* config: update tor with args at listener

* config: pass pathbuf directly on creation

* config: unique tmp file name, setting permissions and providing config version

* fix global config handling

* fix config persistence

* fix tor service restart

* fix config synchronization

* require wallet close before changing data directory

* unify global config updates

---------

Co-authored-by: wiesche <wiesche89@googlemail.com>
2026-08-09 19:49:29 +02:00
2026-08-09 19:48:39 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2025-09-18 14:56:43 +02:00
2026-08-09 19:48:39 +02:00
2026-08-09 19:49:29 +02:00
2026-08-09 19:49:29 +02:00
2025-09-18 14:56:43 +02:00
2026-08-09 19:48:39 +02:00

Continuous Integration Coverage Status Chat Support Release Version License

Grin Wallet

This is the reference implementation of Grin's wallet. It consists of 2 major pieces:

  • The Grin Wallet APIs, which are intended for use by Grin community wallet developers. The wallet APIs can be directly linked into other projects or invoked via a JSON-RPC interface.

  • A reference command-line wallet, which provides a baseline wallet for Grin and demonstrates how the wallet APIs should be called.

Contributing

To get involved, read our contributing docs.

Find us:

Usage

To use the command-line wallet, we recommend using the latest release from the Releases page. There are distributions for Linux, MacOS and Windows.

Full documentation outlining how to use the command line wallet can be found on Grin's Wiki

To build locally install Rust and execute in the project directory:

git submodule update --init --recursive
cargo build --release
./target/release/grin-wallet

License

Apache License v2.0

S
Description
Mirror of github.com/jwinterm/grin-wallet
Readme
8.8 MiB
Languages
Rust 99.9%
Shell 0.1%