Skip to content

fix(docs): misleading dry run description in deploy-on-base #1439

@ichaichai

Description

@ichaichai

Path: /base-chain/quickstart/deploy-on-base

Page: https://docs.base.org/base-chain/quickstart/deploy-on-base
File: docs/base-chain/quickstart/deploy-on-base.mdx

Description

Step 1 of the "Deploy Your Contracts" section describes an optional dry run, but the explanation is misleading.

Current text:

(Optional) First, perform a dry run to simulate the deployment and verify everything is configured correctly:

forge create ./src/Counter.sol:Counter --rpc-url $BASE_SEPOLIA_RPC_URL --account deployer

This performs a simulation without broadcasting the transaction to the network.

This is inaccurate. Running forge create without --broadcast does not perform a simulation — it simply does nothing (no transaction is sent, no output confirms a simulated result). Foundry’s actual dry-run/simulation tool is forge script with the --dry-run flag, not forge create without --broadcast.

The current wording may confuse readers into thinking they have verified their setup when they have not.

Suggested fix

Either:

  • Remove the misleading "dry run" step and clarify that omitting --broadcast simply prevents deployment, or
  • Replace with the correct Foundry simulation approach using forge script --dry-run

Example clearer wording:

To deploy your contract, run the following command. The --broadcast flag is required to actually send the transaction. Without it, Foundry does not submit anything to the network.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions