Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store blockchain in AppData Local, not AppData Roaming on Windows.is #2237

Closed
MicahZoltu opened this issue Feb 20, 2016 · 3 comments
Closed
Assignees
Milestone

Comments

@MicahZoltu
Copy link
Contributor

When connected to a domain, everything in the Roaming application data folder will be synchronized to the network on logout. At the moment, this means the entire blockchain will attempt to be copied over the network on logout. Most domains setup Roaming quotas to prevent user applications from destroying the network, in this case using Geth will cause the the user to be unable to sync their roaming profile on logout which can have significant negative side effects on other applications that depend on roaming profile syncing.

The correct location for this sort of thing would either be %PROGRAMDATA% if you want to allow multiple users on a shared machine share the data (all users will be able to read and write) or %APPDATA%/Local if you want only the current user to be able to access the data. %PROGRAMDATA% is a better choice for very large files like this if you have some other security mechanism in place to ensure that file tampering isn't a problem since it means each user doesn't have to download their own entire block chain. However, if verifying the entire blockchain is not easy/cheap, then %APPDATA%/Local is the correct choice.

Perhaps there is some way to have Geth store the blockchain in %PROGRAMDATA% and only store some kind of verification hash in %APPDATA%/Local that would allow them to quickly identify whether or not the blockchain has been tampered with?

Reference: http://superuser.com/a/150014/401511

Code: https://github.com/ethereum/go-ethereum/blob/bzz/common/path.go#L91

@stale
Copy link

stale bot commented Mar 5, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status:inactive label Mar 5, 2018
@MicahZoltu
Copy link
Contributor Author

I haven't personally used geth lately, but unless someone has explicitly addressed this, it isn't one of those things that "goes away on its own as to codebase is iterated on". Recommend keeping this bug active.

@holiman
Copy link
Contributor

holiman commented Jan 15, 2019

Changing this also involves Mist, which (at least historically) has sometimes interacted directly with the keystore folder (although I don't remember exactly under what circumstances, maybe during import). cc @evertonfraga what would happen if we move the keystore ?

@fjl fjl closed this as completed in f7f6a46 Feb 19, 2019
kiku-jw pushed a commit to kiku-jw/go-ethereum that referenced this issue Mar 29, 2019
…#17786)

This changes default location of the data directory to use the LOCALAPPDATA
environment variable, resolving issues with remote home directories an improving
compatibility with Cygwin.

Fixes ethereum#2239 
Fixes ethereum#2237 
Fixes ethereum#16437
hackmod added a commit to Ethersocial/go-ethersocial that referenced this issue Apr 14, 2019
…#17786)

This changes default location of the data directory to use the LOCALAPPDATA
environment variable, resolving issues with remote home directories an improving
compatibility with Cygwin.

Fixes ethereum#2239
Fixes ethereum#2237
Fixes ethereum#16437
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants