Skip to main content

CLI

The CLI is a suite of commands that allows you to develop and deploy smart contracts that can utilize the SDK and the dashboard on your smart contracts. It includes commands that can:

  • Deploy your smart contracts without the use of private keys
  • Create web applications that can interact with your smart contracts
  • Publish your smart contracts for others to use (coming soon)

Detect

As you're developing your contracts, you may want to implement Contract Extensions to add standard functionality to your contracts like NFT minting, querying, and more.

During your development, you can run the thirdweb detect command to detect any extensions on your contracts for confirmation and to suggest additional related extensions.

npx thirdweb detect

Release

Creates an official release of your contract, along with:

  • Author attribution
  • Contract information
  • Instructions on how to use and what it's for
  • Versioning
  • Release notes

Creating releases this way gives you a shareable URL to let others deploy your contracts in one click. It lets you manage released versions and get attribution for deployed contracts. Contract releases are registered on-chain (Polygon) and IPFS, for free (gasless).

Deploying released contracts give deployers access to automatic SDKs to integrate into their app and dashboards to manage and monitor the deployed contracts.

npx thirdweb release

Deploy

  • Auto-detect any deployable contract in your project
  • Compile your project
  • Upload the ABI and bytecode to IPFS
  • Generate a deploy link

Follow the link to the dashboard where you can connect a wallet (or a multi-sig like Gnosis) to deploy your code to blockchains from your browser-connected wallet. No copy/pasting of private keys or complex scripting is required!

npx thirdweb deploy

Continuous Integration (Alpha)

Set up continuous integration for your contracts.

This adds a GitHub Action to deploy the contract on pull requests and pushes to Git branches.

npx thirdweb install-ci

Create

Create a new app with the language & framework of your choice and thirdweb pre-configured.

# Create a basic project with the language & framework of your choice
npx thirdweb create

You can also start with one of our template repositories by passing the --template flag and the name of the repo.

# Create a project from an template repository
npx thirdweb create --template nft-drop