Catapulta is a smart contracts deployment tool, which allows to ensure the best Chain Ops practices via automation to keep your deployments organized.
The major benefits of using Catapulta in your Solidity project are:
With Catapulta, you can boost your team productivity, allowing to bootstrap your project quickly into production to +20 networks, with less boilerplate. Forget about gas, setting up RPC URLs, Etherscan URL or API keys in your configuration file.
The Catapulta Collaborative Dashboard UI allows you to create new projects to separate context, store past deployments, add deployment notes, download deployment reports, and share your deployment reports with your team in a collaborative way.
The goal of Catapulta is to simplify DevX around Solidity development and set the best Chain Ops practices, without any major changes in your workflow.
To be able to interact with the Catapulta platform, you need the following requirements.
The fastest way to try out the benefits of Catapulta, check the Catapulta Forge or Hardhat Templates which contains an step by step guide to deploy your first smart contract with Catapulta:
catapulta-sh/catapulta-forge-template
Template repository for getting started quickly with Catapulta.sh Chain Ops Suite for Foundry projects.
catapulta-sh/catapulta-hardhat-template
Template repository for getting started quickly with Catapulta.sh Chain Ops Suite for Hardhat projects.
The catapulta
tool which is compatible with Foundry and Hardhat allows to host smart contract artifacts, broadcast transactions to the Catapulta RPC Relay, store deployment reports, and automatize Etherscan/Blockscout verification of the deployed contracts.
You can install the catapulta package globally with NPM, open your terminal and run:
npm i -g catapulta
To check if is installed correctly, run the following command to get the current CLI version:
catapulta -v
Output:
Catapulta.sh - Chain Ops CLI 🏹
Version: 0.1.33
If you prefer the command can also be run with NPX:
npx catapulta -v
Once installed, sign in Catapulta.sh, navigate to your Project and paste your CATAPULTA_API_KEY
into your project .env
file to attach your deployment session to the Catapulta RPC Relay.
Once the CATAPULTA_API_KEY
environment variable is set in your Foundry project at .env file, you can deploy your smart contracts defined in your Solidity script using the following catapulta
command:
catapulta script scripts/YourDeployScript.sol --network sepolia
Output:
Catapulta.sh 🏏 deployment ============================ Project name: Ghost Deployments Project URL: https://catapulta.sh/project/64e6272a59b37a3a4a7afb55 Deployment UUID: e5b3c126-c225-46c9-a9de-4e8860df0e07 📀 Building artifacts... 🗜 Compressing artifacts... 📤 Uploading artifacts to the Catapulta DB... ✅ Artifacts uploaded successfully. 📡 Broadcasting deployments to Catapulta Relay: 📜 Running Foundry script: forge script scripts/DeployBasic.sol --chain 11155111 --rpc-url "https://catapulta.sh/api/run/add/chain/11155111/e5b3c126-c225-46c9-a9de-4e8860df0e07/gNd4vq8AqnRWhxwPJiMS" --broadcast [...] ✅ Deployment successfully broadcasted - Etherscan verification request sent. Check the dashboard for keeping track verifications. If contracts are not verified in 10 minutes, contact support at the web chat in https://catapulta.sh . 💾 Artifacts stored at: https://users-artifacts.s3.eu-west-1.amazonaws.com/e5b3c126-c225-46c9-a9de-4e8860df0e07-deployment-artifacts/artifacts.zip 📸 Check your deployment report at: - https://catapulta.sh/project/64e6272a59b37a3a4a7afb55/op/e5b3c126-c225-46c9-a9de-4e8860df0e07
Catapulta can fund your deployments via our custom gas relay or gas abstraction for developers.
Currently is free up to $10 USD per account, and only available for Ethereum Sepolia, Ethereum Holesky and Polygon Amoy, acting like a captcha-less faucet for your testnet operations.
To fund your deployer account before your deployment , add --sponsor
flag at the end of your catapulta
command:
catapulta script scripts/YourDeployScript.sol --network sepolia --sponsor
If you need gas abstraction for developers in other chains or in production, contact support to pre-pay your balance.
Catapulta allows to import older Foundry script deployments, using broadcast JSON files.
Importing older deployments will re-trigger verification of your smart contracts in all block explorers, in case they are still not verified for any reason.
catapulta import broadcast/YourDeployScript.sol/11155111/run-latest.json
For full Hardhat Deploy support, you must install Catapulta in your project.
npm i catapulta
Proceed to import the Catapulta Hardhat plugin at the top of your hardhat.config.ts file.
import "catapulta/hardhat";
// Rest of your hardhat.config.ts file
Once the CATAPULTA_API_KEY
environment variable is set in your Foundry project at .env file, you can deploy using Hardhat Deploy scripts or Hardhat scripts.
We recommend using Hardhat Deploy if you use libraries in your Solidity contracts, for ensuring Etherscan verification.
catapulta deploy --network sepolia
You can also run Hardhat scripts
catapulta run scripts/deploy.ts --network sepolia
To see the supported networks, you can run the following command:
catapulta networks
To generate a new private key locally and save it at .env
file as PRIVATE_KEY
, or to view the current address, you can run:
catapulta wallet
If you open the deployment report
URL from the output of the command, you will see a deployment report generated from your deployment, which includes all the transactions and contracts deployed in one single deployment session. You can always comeback to your deployment report from your Project page.
Features of the Catapulta deployment report:
Currently we support +20 EVM networks:
The Catapulta RPC Relay is an aggregator of RPC node providers, which allows to access more networks with a single CATAPULTA_API_KEY
, removing the need of context switching looking in different RPC providers every time you create a new project.
The future is cross-chain, and we aim to aggregate and support as much networks as requested to simplify development with a single payment subscription.
The free tier allows to deploy in any Testnet of choice, up to 40 times, with free gas sponsor in testnets. The paid tier allows you to deploy in testnet and production networks. You can see the pricing table in the Pricing page.