bee icon indicating copy to clipboard operation
bee copied to clipboard

As a user, I want to be able to manually configure the location of the keystore file

Open chrishobcroft opened this issue 2 years ago • 0 comments

Is your feature request related to a problem? Please describe.

I am running 2 software clients for peering to 2 different distributed networks on my computer.

One of them is Swarm. The other also uses EIP-712 signing apparatus.

Currently, it is not possible to configure either client to use a keystore file in any location other than the default location.

My problem is that currently I need to have two copies of the same keystore file in two different locations on the same computer.

This duplication is not a nice thing, and makes configuration and maintenance twice as hard.

Describe the solution you'd like

I wish for the ability to merely instruct bee to load up a keystore file from somewhere other than the default location in the keys/swarm.key.

Describe alternatives you've considered

I could mount the same file in two different mounts, so that there's only one copy, but this feels like overkill, and overly complicated.

Additional context

Here is an example of a keystore generated by the other project:

{"address":"d0943c2cabd5fd54d3fc35f5ceda20f80a46b299","crypto":{"cipher":"aes-128-ctr","ciphertext":"f7b251055955db41f6c70938f8866b51982ffbd8702a637ec02f76494f8fc98a","cipherparams":{"iv":"9e259fb65289d43a0048e0d5375fba41"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"68a792b00da3a238a5b3a25f38d9daa0ac2d962783645535c1c45405e9dba2e0"},"mac":"10c0789de795027130e74850dddb9d60d42be4c12a65d67f9db7102647a21407"},"id":"97039392-8890-455b-abeb-767bf4f1e4f5","version":3}

Here is an example of a keystore generated by bee:

{"address":"6fe215a1fc7824b13adcd1e899febfc90fd87166","crypto":{"cipher":"aes-128-ctr","ciph{"address":"6fe215a1fc7824b13adcd1e899febfc90fd87166","crypto":{"cipher":"aes-128-ctr","ciphertext":"dfb5e0f8d495bcafd93c2a607c527b94ffe0e3470d32215e4fe51b1c4989eee2","cipherparams":{"iv":"136b64a8be45bbab5483097c11ded4fa"},"kdf":"scrypt","kdfparams":{"n":32768,"r":8,"p":1,"dklen":32,"salt":"3750210ca097ca676ba576f9061e572cc071f1a7bb879464cd1d352fb7255062"},"mac":"c6409783ea5e904ce422b9ce750bc12c703d332d6e2b7b13df168c57ea8200f1"},"version":3,"id":"c3d74688-cc5e-48eb-8764-71171a4632c0"}ertext":"dfb5e0f8d495bcafd93c2a607c527b94ffe0e3470d32215e4fe51b1c4989eee2","cipherparams":{"iv":"136b64a8be45bbab5483097c11ded4fa"},"kdf":"scrypt","kdfparams":{"n":32768,"r":8,"p":1,"dklen":32,"salt":"3750210ca097ca676ba576f9061e572cc071f1a7bb879464cd1d352fb7255062"},"mac":"c6409783ea5e904ce422b9ce750bc12c703d332d6e2b7b13df168c57ea8200f1"},"version":3,"id":"c3d74688-cc5e-48eb-8764-71171a4632c0"}

You see, they're compatible.

Both clients are written in golang.

I have also raised a corresponding issue on the other project's repository.

chrishobcroft avatar Jan 20 '24 02:01 chrishobcroft