Packages
rocketh is a set of small packages: the core, the runtimes that run it, and the extensions a project picks. Each README (what npm shows) says what the package is and how to install and wire it; the guide is where its behaviour is documented.
| Package | What it is | Guide |
|---|---|---|
rocketh | The environment and the executor: runs deploy scripts, saves and reads deployments. | Deploy scripts |
hardhat-deploy | The Hardhat plugin: the deploy task, typed artifacts, the network helpers, hardhat-deploy init. | hardhat-deploy |
@rocketh/node | The Node.js runtime: the rocketh command, and environments built from files. | Get started without Hardhat, CLI |
@rocketh/web | The browser runtime: deploy scripts as modules, records in memory or IndexedDB. | Run deploy scripts in a browser |
@rocketh/deploy | deploy and computeDeterministicAddress. | Deploy contracts, Deterministic addresses |
@rocketh/read-execute | read, execute (with its guard), tx. | Guard execute calls |
@rocketh/proxy | deployViaProxy: ERC-173, UUPS and transparent proxies. | Proxies |
@rocketh/diamond | diamond: EIP-2535 diamonds. | Diamonds |
@rocketh/router | deployViaRouter: one entry point over several route contracts. | Routers |
@rocketh/unknown-signer | withUnknownSignerPolicy, the policy for one call from a Safe or a multisig, and catchUnknownSigner for ported v1 scripts. | Unknown signers |
@rocketh/signer | The privateKey signer protocol. | Named accounts and signers |
@rocketh/viem | viem clients and typed contracts for your deployments. | Use viem |
@rocketh/export | rocketh-export: deployments as one file for a frontend. | Export |
@rocketh/verifier | rocketh-verify: source verification on Etherscan, Sourcify and Blockscout. | Verify |
@rocketh/doc | rocketh-doc: documentation from ABIs and NatSpec. | Document |
@rocketh/core | The shared types and utilities, for extension authors. | Extending rocketh |
@rocketh/test-utils | A real environment over a mock provider, for testing extensions. | Testing an extension |
@rocketh/playground | The in-browser playground of this site, as a widget. | Introduction |
A project needs rocketh, a runtime (@rocketh/node, which hardhat-deploy uses too, or @rocketh/web) and the extensions its scripts call; @rocketh/deploy and @rocketh/read-execute are in almost every project.