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.
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.mdxDescription
Step 1 of the "Deploy Your Contracts" section describes an optional dry run, but the explanation is misleading.
Current text:
This is inaccurate. Running
forge createwithout--broadcastdoes 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 isforge scriptwith the--dry-runflag, notforge createwithout--broadcast.The current wording may confuse readers into thinking they have verified their setup when they have not.
Suggested fix
Either:
--broadcastsimply prevents deployment, orforge script --dry-runExample clearer wording: