26 lines
748 B
Go
26 lines
748 B
Go
package account
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
|
|
"github.com/ethereum/go-ethereum/accounts"
|
|
"github.com/ethereum/go-ethereum/accounts/keystore"
|
|
)
|
|
|
|
// makeAccountManager creates ethereum accounts.Manager with single disk backend and lightweight kdf.
|
|
// If keydir is empty new temporary directory with go-ethereum-keystore will be intialized.
|
|
func makeAccountManager(keydir string) (manager *accounts.Manager, err error) {
|
|
if keydir == "" {
|
|
// There is no datadir.
|
|
keydir, err = ioutil.TempDir("", "go-ethereum-keystore")
|
|
}
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if err := os.MkdirAll(keydir, 0700); err != nil {
|
|
return nil, err
|
|
}
|
|
return accounts.NewManager(keystore.NewKeyStore(keydir, keystore.LightScryptN, keystore.LightScryptP)), nil
|
|
}
|