mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 02:33:24 -03:00
Merge bitcoin/bitcoin#27064: system: use %LOCALAPPDATA% as default datadir on windows
84900ac34f
doc: add release-notes-27064.md (Matthew Zipkin)855dd8d592
system: use %LOCALAPPDATA% as default datadir on windows (Matthew Zipkin) Pull request description: Closes https://github.com/bitcoin/bitcoin/issues/2391 This PR changes the default datadir location on Windows from `C:\Users\Username\AppData\Roaming\Bitcoin` to `C:\Users\Username\AppData\Local\Bitcoin`. This change only applies to fresh installs. To preserve backwards compatibility, on startup we check for the existence of `C:\Users\Username\AppData\Roaming\Bitcoin\chainstate` and if it is there, we continue using the "Roaming" directory as the default datadir location. [Note that in Windows 11 this change may be moot:](https://learn.microsoft.com/en-us/uwp/api/windows.storage.applicationdata.roamingfolder?view=winrt-22621) > Roaming data and settings is no longer supported as of Windows 11. The recommended replacement is [Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/). Azure App Service is widely supported, well documented, reliable, and supports cross-platform/cross-ecosystem scenarios such as iOS, Android and web. Settings stored here no longer roam (as of Windows 11), but the settings store is still available. ACKs for top commit: achow101: ACK84900ac34f
BenWestgate: crACK84900ac34f
hebasto: re-ACK84900ac34f
, only addressed feedback since my recent [review](https://github.com/bitcoin/bitcoin/pull/27064#pullrequestreview-2028718273). Tree-SHA512: 807c6e89571287e2c8f4934229aec91ef28e7d0a675234acf1b7d085c24c7b73a08b6e345fbfc9038e6239187b6b69c08490ddaa1c057de5ea975c4a000bba42
This commit is contained in:
commit
915d7276e4
5 changed files with 19 additions and 5 deletions
|
@ -59,7 +59,7 @@ The `includeconf=<file>` option in the `bitcoin.conf` file can be used to includ
|
||||||
|
|
||||||
Operating System | Data Directory | Example Path
|
Operating System | Data Directory | Example Path
|
||||||
-- | -- | --
|
-- | -- | --
|
||||||
Windows | `%APPDATA%\Bitcoin\` | `C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf`
|
Windows | `%LOCALAPPDATA%\Bitcoin\` | `C:\Users\username\AppData\Local\Bitcoin\bitcoin.conf`
|
||||||
Linux | `$HOME/.bitcoin/` | `/home/username/.bitcoin/bitcoin.conf`
|
Linux | `$HOME/.bitcoin/` | `/home/username/.bitcoin/bitcoin.conf`
|
||||||
macOS | `$HOME/Library/Application Support/Bitcoin/` | `/Users/username/Library/Application Support/Bitcoin/bitcoin.conf`
|
macOS | `$HOME/Library/Application Support/Bitcoin/` | `/Users/username/Library/Application Support/Bitcoin/bitcoin.conf`
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ Platform | Data directory path
|
||||||
---------|--------------------
|
---------|--------------------
|
||||||
Linux | `$HOME/.bitcoin/`
|
Linux | `$HOME/.bitcoin/`
|
||||||
macOS | `$HOME/Library/Application Support/Bitcoin/`
|
macOS | `$HOME/Library/Application Support/Bitcoin/`
|
||||||
Windows | `%APPDATA%\Bitcoin\` <sup>[\[1\]](#note1)</sup>
|
Windows | `%LOCALAPPDATA%\Bitcoin\` <sup>[\[1\]](#note1)</sup>
|
||||||
|
|
||||||
2. A custom data directory path can be specified with the `-datadir` option.
|
2. A custom data directory path can be specified with the `-datadir` option.
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ By default, wallets are created in the `wallets` folder of the data directory, w
|
||||||
| Operating System | Default wallet directory |
|
| Operating System | Default wallet directory |
|
||||||
| -----------------|:------------------------------------------------------------|
|
| -----------------|:------------------------------------------------------------|
|
||||||
| Linux | `/home/<user>/.bitcoin/wallets` |
|
| Linux | `/home/<user>/.bitcoin/wallets` |
|
||||||
| Windows | `C:\Users\<user>\AppData\Roaming\Bitcoin\wallets` |
|
| Windows | `C:\Users\<user>\AppData\Local\Bitcoin\wallets` |
|
||||||
| macOS | `/Users/<user>/Library/Application Support/Bitcoin/wallets` |
|
| macOS | `/Users/<user>/Library/Application Support/Bitcoin/wallets` |
|
||||||
|
|
||||||
### 1.2 Encrypting the Wallet
|
### 1.2 Encrypting the Wallet
|
||||||
|
|
7
doc/release-notes/release-notes-27064.md
Normal file
7
doc/release-notes/release-notes-27064.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Files
|
||||||
|
-----
|
||||||
|
|
||||||
|
The default data directory on Windows has been moved from `C:\Users\Username\AppData\Roaming\Bitcoin`
|
||||||
|
to `C:\Users\Username\AppData\Local\Bitcoin`. Bitcoin Core will check the existence
|
||||||
|
of the old directory first and continue to use that directory for backwards
|
||||||
|
compatibility if it is present.
|
|
@ -696,12 +696,19 @@ bool HasTestOption(const ArgsManager& args, const std::string& test_option)
|
||||||
|
|
||||||
fs::path GetDefaultDataDir()
|
fs::path GetDefaultDataDir()
|
||||||
{
|
{
|
||||||
// Windows: C:\Users\Username\AppData\Roaming\Bitcoin
|
// Windows:
|
||||||
|
// old: C:\Users\Username\AppData\Roaming\Bitcoin
|
||||||
|
// new: C:\Users\Username\AppData\Local\Bitcoin
|
||||||
// macOS: ~/Library/Application Support/Bitcoin
|
// macOS: ~/Library/Application Support/Bitcoin
|
||||||
// Unix-like: ~/.bitcoin
|
// Unix-like: ~/.bitcoin
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
// Windows
|
// Windows
|
||||||
return GetSpecialFolderPath(CSIDL_APPDATA) / "Bitcoin";
|
// Check for existence of datadir in old location and keep it there
|
||||||
|
fs::path legacy_path = GetSpecialFolderPath(CSIDL_APPDATA) / "Bitcoin";
|
||||||
|
if (fs::exists(legacy_path)) return legacy_path;
|
||||||
|
|
||||||
|
// Otherwise, fresh installs can start in the new, "proper" location
|
||||||
|
return GetSpecialFolderPath(CSIDL_LOCAL_APPDATA) / "Bitcoin";
|
||||||
#else
|
#else
|
||||||
fs::path pathRet;
|
fs::path pathRet;
|
||||||
char* pszHome = getenv("HOME");
|
char* pszHome = getenv("HOME");
|
||||||
|
|
Loading…
Add table
Reference in a new issue