Cronos tooling
MetaMask
On node access details, click Add to MetaMask.
Truffle
Configure Truffle Suite to deploy contracts to your Cronos nodes.
Install Truffle Suite, HD Wallet-enabled Web3 provider, and create a project.
Create a new environment in truffle-config.js
, add your mnemonic phrase generated by a wallet and the Cronos endpoint instead of YOUR_CHAINSTACK_ENDPOINT:
Hardhat
Configure Hardhat to deploy contracts and interact through your Cronos 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.
web3.js
Build DApps using web3.js and Cronos nodes deployed with Chainstack.
Install web3.js.
Connect over HTTP or WebSocket.
HTTP
Use the HttpProvider
object to connect to your node HTTPS endpoint and get the latest block number:
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password.
WebSocket
Use the WebsocketProvider
object to connect to your node WSS endpoint and get the latest block number:
where YOUR_CHAINSTACK_ENDPOINT is your node WSS endpoint protected either with the key or password.
web3.py
Build DApps using web3.py and Cronos nodes deployed with Chainstack.
Install web3.py.
Connect over HTTP or WebSocket. 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
- HOSTNAME — your node HTTPS endpoint hostname
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
See also node access details.
WebSocket
Use the WebsocketProvider
object to connect to your node WSS endpoint and get the latest block number.
where
- 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)
See also WebSocket connection to an EVM node.
web3.php
Build DApps using web3.php and Cronos nodes deployed with Chainstack.
Install web3.php.
Connect over HTTP:
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password
web3j
Build DApps using web3j and Cronos nodes deployed with Chainstack.
Use the HttpService
object to connect to your node endpoint.
Example to get the latest block number:
where
- ENDPOINT — your node HTTPS endpoint
- USERNAME — your node access username
- PASSWORD — your node access password
See also the full code on GitHub.
ethers.js
Build DApps using ethers.js and Cronos nodes deployed with Chainstack.
Install ethers.js.
Connect over HTTP or WebSocket. 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
-
USERNAME — your node access username (for password-protected endpoints)
-
PASSWORD — your node access password (for password-protected endpoints)
-
NETWORK_ID — Cronos network ID:
- Mainnet:
25
- Testnet:
338
- Mainnet:
See node access details.
WebSocket
Use the WebSocketProvider
object to connect to your node WSS endpoint and get the latest block number:
where
-
YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint endpoint protected either with the key or password
-
NETWORK_ID — Cronos network ID:
- Mainnet:
25
- Testnet:
338
- Mainnet:
Brownie
Install Brownie.
Use the brownie networks add
command with the node endpoint:
where
-
ID — any name that you will use as the network tag to run a deployment. For example,
chainstack-mainnet
. -
NETWORK_NAME — any name that you want to identify the network by in the list of networks. For example, Mainnet (Chainstack).
-
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint protected either with the key or password
-
NETWORK_ID — Cronos network ID:
- Mainnet:
25
- Testnet:
338
- Mainnet:
Example to run the deployment script:
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