smartcontractkit / smartcontractkit/chainlink

[DEVEL] Accept JWT Token to connect with Geth node

Open
#16,762 0 comments 0 reactions 0 assignees View on GitHub

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 eaa03c3a8ceb71d3e469b077f60a578af2532fe5
  • Geth/v1.15.4-stable-8ccca244/linux-amd64/go1.24.0

Steps to Reproduce

  1. Run geth enabling RPC-API with authentication:
$ geth --http --ws --authrpc.jwtsecret jwtsecret
  1. Run you Chainlink providing the IP and ports of the EL using HTTPURL WSURL.

Additional Information

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.