Open quickchase opened 5 months ago
Acknowledged. Let us discuss and prioritize this feature with the team.
@non-fungible-nelson @jframe FYI.
@quickchase what is Optimism's appetite to open a PR? We can provide code-reviews and insights as well. Otherwise, we may have to backlog this issue with an uncertain timeline.
The health check - @usmansaleem we should discuss.
@quickchase @non-fungible-nelson Web3Signer currently exposes /healthcheck
which uses Vertx Healthcheck to generate the statuses. https://vertx.io/docs/vertx-health-check/java/. /healthz
seems to be kubernetes preferred endpoint. We can expose an alias for /healthcheck
as /healthz
if https://github.com/ethereum-optimism/optimism/blob/develop/op-node/node/server.go#L97 is able to handle the output of /healthcheck
that we have? (My Go is a bit Rusty, no-pun-intended)
vertx dev hint: router.get("/health*")
should be able to handle both usecases.
Actually, I think I misspoke about the /healthz
endpoint (though it would be a nice to have for docker deployments) and the actual problem is here:
They're sending a JSON-RPC method of health_status
and when you send that to their nodes it returns:
{"jsonrpc":"2.0","id":1,"result":"OK"}
This is a feature request to support using web3signer as a remote signer for the Optimism op-stack / op-signer
The primary source code for the op-signer is located here and their services can connect to a remote signer, source code here
In testing, we found that there are at least two primary hurdles in using web3signer as a remote signer for OP-Stack (Sequencer, Bather, and Proposer).
input
field/healthz
With regards to number 1 above, we found that a simple addition of
input
alongsidedata
in the following files allows web3sign to correctly sign transactions for the batcher and proposer:Related issue: https://github.com/ethereum/go-ethereum/issues/15628 (also linked in code above)
We were able to get web3signer to sign valid batcher and proposer transactions, so I don't THINK this would be a huge lift...