Interaction tools
MetaMask
On node access details, click Connect wallet.Development tools
ZKsync Era runs standard EVM bytecode through its EVM Bytecode Interpreter, so for most new projects you can use standard Ethereum tooling — Hardhat, Foundry, ethers, or viem — pointed at your Chainstack ZKsync Era endpoint, exactly like any other EVM chain. The EraVM-native workflow below (the
hardhat-zksync plugin suite with the zksolc compiler) remains for contracts that target EraVM directly.zksync-ethers SDK
See zksync-ethers.Hardhat (EraVM-native)
To compile and deploy contracts that target EraVM natively, configure the hardhat-zksync plugin suite to build and interact through your zkSync Era nodes. For standard EVM contracts, use a normal Hardhat setup pointed at your Chainstack endpoint instead (see the note above).-
Install Hardhat and create a project.
-
Install the dotenv package to securely load your sensitive variables from a
.envfile -
Create a new environment in
hardhat.config.ts:
Follow the tutorial for a better understanding: zkSync Era∎: Develop a custom paymaster contract
web3.py
Build DApps using web3.py and zkSync Era nodes deployed with Chainstack.- Install web3.py.
- Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket.
HTTPS
UseHTTPProvider to connect to your node endpoint and get the latest block number.
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
- HOSTNAME — your node HTTPS endpoint hostname
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
WSS
Use theWebsocketProvider object to connect to your node WSS endpoint and get the latest block number.
- YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint protected either with the key or password
- HOSTNAME — your node WSS endpoint hostname
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
node.js
You can build a web app to query data using node.js and axios:- YOUR_CHAINSTACK_ENDPOINT — your Chainstack node endpoint protected either with the key or password. See node access details.
query— your JSON-RPC query. In this case, to get the latest block number.
ethers.js
Build DApps using ethers.js and zkSync Era nodes deployed with Chainstack.- Install ethers.js.
- Connect over HTTPS or WebSocket. See also EVM node connection: HTTP vs WebSocket.
HTTPS
Use theJsonRpcProvider object to connect to your node endpoint and get the balance of any address:
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
-
NETWORK_ID — zkSync Era network ID:
- Mainnet:
324 - Sepolia Testnet:
300
- Mainnet:
WebSocket
Use theWebSocketProvider object to connect to your node WSS endpoint and get the latest block number:
- YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint protected either with the key or password
-
NETWORK_ID — zkSync Era network ID:
- Mainnet:
324 - Sepolia Testnet:
300
- Mainnet:
Remix IDE
To make Remix IDE interact with the network through a zkSync Era node deployed with Chainstack:- Get MetaMask and set it to interact through a Chainstack node. See Interacting through MetaMask.
- In Remix IDE, navigate to the Deploy tab. Select Injected Provider - MetaMask in Environment.