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:
- It's correcty what I just wrote?
- Do I really node the consensus node? Aren't JSON-RPC evaluated by execution nodes?
- the rate limiting of alchemy and similar is related to JSON-RPC call on execution node, correct?
- 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!
Thanks