smartcontractkit / smartcontractkit/chainlink
[DEVEL] Accept JWT Token to connect with Geth node
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 8.2k
- Forks
- 2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 202
Description
Description
Geth has enforced the use of JWT Token authentication in its nodes since The Merge, now that the Beacon Chain must connect to the EL. While trying to connect my Chainlink node to the my Geth node, I get the following error message:
RPCClient returned error (Holesky) logger=EVM.17000.Node.Lifecycle.Unreachable node=(primary)Holesky:ws://geth:8546:http://geth:8551 nodeName=Holesky nodeOrder=100 nodeState=Dialed nodeTier=primary stacktrace=github.com/smartcontractkit/chainlink-framework/multinode.(*node[...]).verifyChainID
Failed to verify chain ID for node multinode@v0.0.0-20250211162441-3d6cea220efb/node.go:275 chainID=17000 err=RPCClient returned error (Holesky): primary http (http://geth:8551) call failed: 401 Unauthorized: missing token
errVerbose=401 Unauthorized: missing token
Your Environment
Chainlink Node 2.21.0 at commit eaa03c3a8ceb71d3e469b077f60a578af2532fe5Geth/v1.15.4-stable-8ccca244/linux-amd64/go1.24.0
Steps to Reproduce
- Run geth enabling RPC-API with authentication:
$ geth --http --ws --authrpc.jwtsecret jwtsecret
- Run you Chainlink providing the IP and ports of the EL using
HTTPURLWSURL.
Additional Information
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the connection with Geth's --authrpc.jwtsecret enabled and the Chainlink node configured through HTTPURL and WSURL. Trace the EVM node connection and authentication configuration from the node-config documentation; done means a Chainlink node can connect to the authenticated Geth endpoint and verify chain ID 17000 without a 401 missing-token error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design, blockchain
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100