catapulta

0.3.18 • Public • Published

Catapulta CLI

The Catapulta CLI is a multi-chain deployment tool for Foundry and Hardhat, which allows you to deploy smart contracts, automatically verify and generate deployment reports in +10 networks, without the need to maintain RPC urls or block explorer API keys in your Foundry/Hardhat config.

Catapulta is a smart contracts deployment platform for teams, to ensure the best Chain Ops practices via automation to keep your deployments organized.

Check below for quick documentations for:

  • Foundry
  • Hardhat Deploy

Requirements

For using Catapulta, you need:

  • Node.js 18
  • Sign up with Github at Catapulta.sh, to obtain a free API key.
  • Paste your CATAPULTA_API_KEY in your .env file in your repository, or in your.bashrc or your .zshrc file.

Install

You can install catapulta CLI globally via NPM:

npm i -g catapulta

Can also be installed locally in your Foundry or Hardhat project, if you use Node.js

npm i --save-dev catapulta

# Execute with npx at your package.json scripts
npx catapulta -v

Foundry: Getting started

To be able to deploy your Foundry scripts using Catapulta, you need to specify the Foundry Script path and the network to perform the deployment:

  npx catapulta script scripts/Deploy.s.sol --network sepolia

Multi-chain deployment

You can also perform multi-chain deployments in a single run, adding a list of networks separated by comma at the --network param.

  npx catapulta script scripts/Deploy.s.sol --networks sepolia,avalancheFuji,maticMumbai

Simulations

If you only want to perform a fork simulation of your script, add --simulate flag.

  npx catapulta script scripts/Deploy.s.sol --network sepolia --simulate

You can also pass the --simulate-block-number param to set the fork block height:

  npx catapulta script scripts/Deploy.s.sol --network sepolia --simulate

Verbose or debug mode

To view the deployment traces, add -vv or -vvvv verbose flag in the catapulta command, in your simulation or broadcast deployment.

  npx catapulta script scripts/Deploy.s.sol --network sepolia --simulate -vvvv
  npx catapulta script scripts/Deploy.s.sol --network sepolia -vvvv

Keep in mind that verbose mode removes the concurrency mode, making multi-chain deployments slower.

Pass extra params to forge script

You can pass any extra forge script params at the end of the command, like --with-gas-price.

  npx catapulta script scripts/Ghost.s.sol --network sepolia --with-gas-price 10000000000

Help

If you want to see full documentation, you can run:

npx catapulta --help

To remove the need to pass --api-key in every command, add CATAPULTA_API_KEY environment variable in your .env file.

Hardhat: Getting Started

If you use Hardhat Deploy, you may need to install and import the Catapulta plugin in your hardhat.config.ts file.

npm i --save-dev catapulta

Them proceed to import the Catapulta plugin in your hardhat.config.ts file:

// hardhat.config.ts
// Include the Catapulta Hardhat plugin at the top of your config

import 'catapulta/hardhat';

Run your Hardhat deploy scripts using Catapulta CLI. You can pass any extra parameter needed for hardhat deploy.

npx catapulta deploy --network sepolia --api-key <your-api-key>

Readme

Keywords

Package Sidebar

Install

npm i catapulta

Homepage

catapulta.sh

Weekly Downloads

4

Version

0.3.18

License

MIT

Unpacked Size

2.68 MB

Total Files

4

Last publish

Collaborators

  • kartojal