<div align="center" <img alt="Rocketh Logo" src="./public/logo.svg" width="100" /<br/ <a href="https://rocketh.dev"Rocketh</a <hr/
<a href="https://npmjs.com/package/rocketh"<img alt="Version" src="https://img.shields.io/npm/v/rocketh" /</a <a href="https://github.com/wighawag/rocketh/blob/main/LICENSE"<img alt="License" src="https://img.shields.io/github/license/wighawag/rocketh" /</a <a href="https://npmjs.com/package/rocketh"<img src="https://img.shields.io/npm/dw/rocketh" alt="weekly downloads" /</a <a href="https://npmjs.com/package/rocketh"<img alt="Dependents" src="https://img.shields.io/librariesio/dependents/npm/rocketh" /</a <a href="https://github.com/wighawag/rocketh/stargazers"<img alt="Github Stars" src="https://img.shields.io/github/stars/wighawag/rocketh" /</a <a href="https://npmjs.com/package/rocketh"<img alt="Node Version" src="https://img.shields.io/node/v/rocketh"</a <a href="https://github.com/wighawag/rocketh/issues"<img alt="Issues and PRs" src="https://img.shields.io/github/issues-pr/wighawag/rocketh" /</a <a href="https://github.com/wighawag/rocketh/actions"<img alt="Tests Status" src="https://img.shields.io/github/actions/workflow/status/wighawag/rocketh/test.yml?label=test" /</a <a href="https://github.com/wighawag/rocketh/commits/main/"<img alt="Commit activity" src="https://img.shields.io/github/commit-activity/w/wighawag/rocketh" /</a <a href="https://github.com/wighawag/rocketh/commits/main/"<img alt="Last commit" src="https://img.shields.io/github/last-commit/wighawag/rocketh" /</a
</div
Rocketh
A framework-agnostic smart contract deployment system for Ethereum-compatible networks.
Features
- 🔧 Framework Agnostic - Works with any Ethereum development toolchain
- 📝 Deploy Scripts - Write deployment scripts that run anywhere, including in the browser
- 🔄 Deterministic Deployments - Support for CREATE2 and CREATE3 deployment patterns
- 💎 Diamond Pattern - First-class support for EIP-2535 Diamond proxies
- 🔀 Proxy Patterns - Support for ERC1967, UUPS, Transparent, and ERC173 proxies
- 📦 Named Accounts - Reference accounts by name instead of address
- 💾 Deployment Tracking - Save and track deployments with transaction receipts
- ✅ Contract Verification - Built-in support for Etherscan and Sourcify
- 📄 Documentation Generation - Auto-generate documentation from deployed contracts
Packages
| Package | Description | | ---------------------------------------------------------- | ----------------------------------------------------- | | rocketh | Core deployment environment and execution | | @rocketh/core | Shared types and utilities | | @rocketh/deploy | Standard contract deployment | | @rocketh/proxy | Proxy deployment patterns (UUPS, Transparent, ERC173) | | @rocketh/diamond | EIP-2535 Diamond proxy support | | @rocketh/read-execute | Contract read/write utilities | | @rocketh/node | Node.js deployment executor | | @rocketh/verifier | Contract verification (Etherscan, Sourcify) | | @rocketh/export | Export deployments for frontend consumption | | @rocketh/doc | Documentation generation | | @rocketh/signer | Signer utilities | | @rocketh/router | Route-based contract deployment | | @rocketh/web | rocketh in web browser |
Installation
# Using pnpm
pnpm add rocketh @rocketh/deploy @rocketh/node
# Using npm
npm install rocketh @rocketh/deploy @rocketh/node
# Using yarn
yarn add rocketh @rocketh/deploy @rocketh/nodeDocumentation
For full documentation, visit rocketh.dev.
Getting Started
In this guide, we will create a new project using Rocketh from scratch..
Note if you want to use a full featured template, you can use the template-ethereum-contracts repository. You can also use hardhat-deploy init, see hardhat-deploy for more information.
We will be using hardhat for contract compilation and hardhat-deploy to hook hardhat with rocketh.