Why this conversation
A design argument won by listing concrete failures, then conceding the one real cost so the other side does not have to find it.
Dialogue
Priya: Keep 31337. Every service already speaks it and nothing needs to change.
Jay: Two things break quietly. Wallets key their network list by chain id, so the local fork and the hosted devnet become one network with two RPCs. And EIP-155 replay protection is per chain id, so a signature made locally is valid on the devnet.
Priya: Would anyone actually replay a test signature?
Jay: Probably not on purpose. By accident, yes: same forked addresses, same nonces, one wrong RPC in an env file. That's the bug that costs an afternoon and teaches nothing.
Priya: What does a new id cost us?
Jay: One entry in the rails chain list and a MetaMask add-network prompt the first time. And one thing I'll concede: MetaMask's 7715 popup won't engage on an id it doesn't know. We test that on Sepolia anyway.
Priya: 313370 then. It's 31337 with a zero, easy to remember.
Jay: And check it's unregistered on chainlist before we ship anything.
Key expressions
| Expression | 뜻 · 쓰이는 자리 |
|---|---|
| break quietly | 조용히 깨진다 |
| key their network list by chain id | 네트워크 목록을 체인 id로 구분하다 |
| one network with two RPCs | RPC 둘 달린 한 네트워크 |
| replay protection is per chain id | 재생 방지는 체인 id 단위다 |
| by accident, yes | 실수로는, 그렇다 |
| costs an afternoon and teaches nothing | 오후를 잃고 아무것도 가르치지 않는다 |
| what does it cost us? | 우리에게 어떤 비용인가? |
| one thing I'll concede | 하나 인정하겠다 |
| won't engage on an id it doesn't know | 모르는 id에서는 작동하지 않는다 |
| check it's unregistered | 미등록인지 확인하라 |