I want to start testing my smart contract on an ethereum 2.0 testnet.
I know there are different node providers like alchemy or quicknode but using these services I can incurr in rate limiting.

The ONLY solution to this problem (if I understood correctly) is setup a full node on my local machine.
Assuming I understood correctly I have to run a command like:

geth --sepolia --syncmode full --metrics --http --http.api net,eth,personal,web3,engine,admin --authrpc.jwtsecret="C:\Users\myusername\jwt.hex" 

and then configure a consensus node on top of geth.

I have the following questions:

  1. It's correcty what I just wrote?
  2. Do I really node the consensus node? Aren't JSON-RPC evaluated by execution nodes?
  3. the rate limiting of alchemy and similar is related to JSON-RPC call on execution node, correct?
  4. how can I setup a development environment that use my local node? Every guide that I read talk about using API keys of providers, but I don't want to... For example with Hardhat Ignition I have to use something like:
module.exports = {
  solidity: "0.8.24",
  networks: {
    sepolia: {
      url: "https://sepolia.infura.io/v3/${INFURA_API_KEY}",
      accounts: [SEPOLIA_PRIVATE_KEY],

but what am I supposed to do if I have a local node? I can use the HTTP rpc of my node as URL?

Even if you know the answer to some of the points above is really appreciated!


1 Answer 1


As far as I have experienced you will need a consensus client, as execution client will only start syncing when it connects to a beacon node and will need to be synced before you can compute the result of queries.

Can grab a checkpoint and usually sync within a few hours:

Can use ipc to connect locally, either by accessing ~/.ethereum/geth.ipc as an ipc endpoint, or starting a javascript console with: geth attach ~/.ethereum/geth.ipc

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.