Published on: 2012-09-14T07:40:55+00:00
In an email conversation between Wladimir and Jeff Garzik on September 14, 2012, it was discussed that the current limitations with BerkelyDB prevent the feasibility of having multiple wallets within one 'environment'. The databases are all located in one directory, but the introduction of LevelDB and a custom format for the wallets will make it possible to have multiple wallets or a wallet in the block chain in separate directories. This feature is frequently requested but constrained by the database at the moment.Scott Howard and Wladimir had an email thread where a proposal was made to move the >2 GB db to $HOME/.cache/bitcoin while keeping the wallet and other config files in $HOME/.bitcoin. The reasoning behind this proposal is to allow backups to skip the .cache directory and align with the freedesktop.org XDG Base Directory Specification. However, due to BerkelyDB limitations, this proposal is currently not feasible as all the databases are within one 'environment' which is a single directory. It was suggested that with the introduction of LevelDB for the block chain and a custom format for wallets, new configurations such as multiple wallets and wallets in block chain in separate directories will be possible.The Linux systems primarily follow the Filesystem Hierarchy Standard (FHS), which can be modified by different distributions. On the other hand, BSD systems usually adhere to the traditional hierarchy and may add directories like /home and /opt as needed. The choice between these approaches is left to the user. Since Bitcoin is not an X app and does not have a user-agnostic system daemon for processing blocks separately from user wallet operations, it is recommended that until a solution is found, the files remain split up somewhere under .bitcoin rather than in /var or elsewhere. The author also jokingly seeks assistance in determining where to place their messages, indicating some confusion about the file system hierarchy.A suggestion to place the blockchain in /var/lib/bitcoin by default is made by a longtime Linux user, although they acknowledge not being a formal sysadmin. However, due to the lack of easy separation of files without detachdb and the absence of a user-agnostic system daemon, it is advised to keep the blockchain split up under .bitcoin for now instead of placing it in /var or any other location.In an email thread from September 14, 2012, grarpamp proposes creating a feature ticket to address the sysadmin problem related to the blockchain. It is recommended to avoid hardcoding paths and instead make all paths specifiable in Bitcoin's config file, with the location itself specifiable on the command line. Peter Vessenes agrees with this idea and suggests that the blockchain should be placed in /var/lib/bitcoin by default. He clarifies that he is not a formal sysadmin but has extensive experience with Linux. The email thread concludes with Peter providing his contact information as CEO of CoinLab.To address the sysadmin issue mentioned, it is suggested to create a feature ticket on Github. It is important to note that XDGBDS is not considered canonical, and hardcoding paths should be avoided. Instead, all paths can be specified in the Bitcoin config file, and the location of the config file itself can be specified on the command line.A Debian user has proposed moving the >2 GB db to $HOME/.cache/bitcoin while keeping the wallet and other config files in $HOME/.bitcoin. This would enable backups to skip the .cache directory and adhere to the freedesktop.org XDG Base Directory Specification. Personal information and settings would remain in .bitcoin/, while everything that can be rebuilt would be stored in .cache/bitcoin/. The proposal is open for consideration and feedback from the Bitcoin community.
Updated on: 2023-08-01T03:54:57.619149+00:00