Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions docs/build/smart-contracts/getting-started/deploy-to-testnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,24 @@ The following output should appear.
["Hello", "RPC"]
```

:::note

You may also see a message like:

```
ℹ️ Simulation identified as read-only. Send by rerunning with `--send=yes`.
```

This is expected! The `hello` function is **read-only**—it doesn't modify any on-chain state. When the CLI detects a read-only function, it automatically runs it as a **local simulation** instead of submitting a transaction to the network. This means:

- **No fees**: The simulation is free—no transaction is submitted to the ledger.
- **Instant result**: The output you see (`["Hello", "RPC"]`) is already the correct result.
- **Ignore `--send=yes`**: For read-only functions, the simulation already gave you what you need.

The `--send=yes` flag is only needed for **state-changing functions**—those that write to contract storage. For those, the CLI first simulates the transaction (to estimate fees and check for errors), then you use `--send=yes` to actually submit and persist changes on-chain.

:::

:::info

The `--` double-dash is required!
Expand Down