Open tmm360 opened 2 years ago
@tmm360 you should report this as a bug/fature for clef (which is a component of go-ethereum) here:
https://github.com/ethereum/go-ethereum/issues?q=is%3Aissue+is%3Aopen+clef
bee-clef is only a collection of integration scripts that start up clef in a configuration that is good for bee nodes.
i suggest to prefix the issue title with [clef]
.
@attila-lendvai for @holiman in https://github.com/ethereum/go-ethereum/issues/24203 it could be an issue with bee-clef script.
@tmm360 fair enough.
i'm not a shell/pipe expert, but it looks to me that all the script does is run the clef binary (once the password was piped into clef's stdin). i don't see how the script could influence when the clef process exits.
a wild guess: bee sends its requests to clef through the clef.ipc file. maybe clef accidentally returns the json error to the stdout instead of the ipc pipe?
I'm not a shell/pipe expert too... I will return with more clues if will have
Oh I have an idea. So if the password is not found in the ruleset, clef will fall back to the next UI in the chain. (The ruleset is really just a headless UI which can handle some requests, and if it cannot handle it, it falls through). So clef will send, over the UI channel (which is stdin), a query about the password to be provided. Does the bee script not handle that?
@holiman i'm not sure i'm following you here, but with that in mind: here is the part of the bee-clef start script that feeds in the password for the clef binary: https://github.com/ethersphere/bee-clef/blob/master/packaging/bee-clef-service#L26
i think what you're describing is handled.
that feeds in the password for the clef binary
Yes, you feed if the master password. But,
stdout
. And that's what I think you fail to handle.
I'm trying to configure a multi bee environement with an only bee-clef instance. So I'm trying to connect to clef using the
--clef-signer-ethereum-address
option.When I try to connect the first node all is fine. When I try to connect a second node I receive this kind of log (hiding address), and process terminate:
Leaving out the problem of why it says that key doesn't exist (I need to investigate more), if a client with a wrong key tries to connect, the process should not be killed. It is serving all other nodes, and must continue to live.