Sonic tooling
MetaMask
On node access details, click Add to MetaMask.
web3.py
Build DApps using web3.py and Sonic nodes deployed with Chainstack.
- Install web3.py.
- Connect over HTTP. See also EVM node connection: HTTP vs WebSocket.
HTTP
Use the HTTPProvider
to connect to your node endpoint and get the latest block number.
where
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
See also node access details.
ethers.js
Build DApps using ethers.js and Sonic nodes deployed with Chainstack.
- Install ethers.js.
- Connect over HTTP. See also EVM node connection: HTTP vs WebSocket.
HTTP
Use the JsonRpcProvider
object to connect to your node endpoint and get the latest block number:
where
-
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
-
NETWORK_ID — Sonic network ID:
- Mainnet:
146
- Blaze Testnet:
57054
- Mainnet:
See also node access details.
Hardhat
Configure Hardhat to deploy contracts and interact through your Sonic nodes.
-
Install Hardhat and create a project.
-
Create a new environment in
hardhat.config.js
:where
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint protected either with the key or password. See node access details.
- YOUR_PRIVATE_KEY — the private key of the account that you use to deploy the contract
-
Run
npx hardhat run scripts/deploy.js --network chainstack
and Hardhat will deploy using Chainstack.
See also Forking EVM-compatible mainnet with Hardhat.
Remix IDE
To make Remix IDE interact with the network through a Chainstack node:
- 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.
This will engage MetaMask and make Remix IDE interact with the network through a Chainstack node.
Foundry
- Install Foundry.
- Use
--rpc-url
to run the operation through your Chainstack node.
Forge
Use forge
to develop, test, and deploy your smart contracts.
To deploy a contract:
where
- CONTRACT_NAME — name of the contract in the Solidity source code
- CONTRACT_PATH — path to your smart contract
- YOUR_PRIVATE_KEY — the private key to your funded account that you will use to deploy the contract
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
Cast
Use cast
to interact with the network and the deployed contracts.
To get the latest block number:
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password