Reading explorer data your tests already assert
Anchor tests print friendly logs locally, but devnet demos require Solana Explorer. This article maps three explorer panels to assertions you likely already wrote.
Account list and writable flags
Compare the explorer’s account list to your instruction’s accounts macro. Writable accounts should match mut attributes. If explorer shows an account as read-only but your test mutates it, the transaction should fail — verify that failure on purpose once to see the log message.
Program log lines
msg! output appears under program logs. Use distinctive strings in tests (Counter incremented to 4) and search for them after client-side sends. When logs are missing, confirm your RPC URL matches the cluster you think you are on.
Inner instructions and CPI
Cross-program calls show nested inner instructions. Expand them to see token transfers or system program allocations triggered by your handler. CPI bugs often appear here as unexpected program IDs.
Post-transaction account data
For small structs, base64 account data in explorer is hard to read. Instead, note the byte length change after initialize vs. increment. Length stable but value wrong points to serialization errors, not missing accounts.
Practice this during the First dApp Builder Workshop day-two deploy block. Related: Accounts vs. programs.