-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
keys.db not found when starting lcd #2630
Comments
@faboweb Can you include exact steps to reproduce using only CLI commands? |
Here are the commands leading up to the error: |
When I run this, |
But I need the |
Should be able to? Is there a db actually there? |
Looks like you also need to set the |
I think before the keys db was just created automatically. Now I need to run |
@faboweb Im a bit confused by the problem/scenario that is causing trouble here. Do you mind summarizing please? |
With the latest SDK it is not possible anymore to just start the LCD with Why was this changed? |
@faboweb Agree that we should make the We should separate these concerns so we aren't running into this type of confusion. |
In addition one needs to init the keys.db and then delete the default account used to create it. Which feels excessive. |
Ahhh I see. Yes I am able to reproduce this and this should be fixed. I don' think we should have to force usage of I think this was a side effect of the KeyBase R/W permissions update. I'll see if I can fix this quickly. |
Update: So this IS due to the new KeyBase opening with R/W options. See the goleveldb function: // OpenFile returns a new filesystem-backed storage implementation with the given
// path. This also acquire a file lock, so any subsequent attempt to open the
// same path will fail.
//
// The storage must be closed after use, by calling Close method.
func OpenFile(path string, readOnly bool) (Storage, error) {
if fi, err := os.Stat(path); err == nil {
if !fi.IsDir() {
return nil, fmt.Errorf("leveldb/storage: open %s: not a directory", path)
}
} else if os.IsNotExist(err) && !readOnly {
if err := os.MkdirAll(path, 0755); err != nil {
return nil, err
}
} else {
return nil, err
}
// ...
} We pass An easy fix is to simply create it on our side if it doesn't exist. I'll do this. /cc @alessio |
Steps to Reproduce
ref: #2656
For Admin Use
The text was updated successfully, but these errors were encountered: