My Simple Checklist Before Deploying Any Contract
I’ve made enough mistakes by now to know what not to skip.
Here’s what I do before any mainnet deploy:
Run tests twice with fresh installs.
Check for any public functions I forgot to protect.
Make sure require messages are not vague.
Set max limits where needed. Just in case something loops too much.
Try to break my own logic with edge cases.
Deploy to a testnet and call every function manually.
Get one dev friend to review it even if it’s basic.
It’s not a fancy audit but it helps. Some bugs just need another pair of eyes.
One time I almost deployed a contract where anyone could call withdraw if they guessed the right input. Didn’t realise it for 3 days. Never again.
Don’t trust yourself too much when it’s your own code. That’s when you miss the obvious stuff.