Traditionally when people have deployed contracts for public use they have tended to publish separate contract addresses for Testnet and Mainnet. Often this then requires them to include code to check which network the contract is on, as we see in this example .
This seems to have been necessary previously because in the absence of replay protection, Morden used a very high accountStartNonce, making it impractical to create the same address on Mainnet. (See Is it possible to give a contract the same address from morden )
Now that EIP 155 replay protection is live and Ropsten is using an accountStartNonce of 0 like Mainnet, are there any good reasons left to carry on using separate addresses for mainnet and testnet, or should we get rid of this code and just use a single address for both?
Mainnet
andRopsten
was pre-ICO attempt, allowing people to test drive their wallets, passwords, everything... But because some people will make mistakes and send real ETH to testnet address it's NO GO.you could rescue them by deploying a contract subsequently
- I do not agree to that, what if account nonce is too high? On a separate note - I accidentally did it, fresh account, same nonce, magic: steemit.com/ethereum/@genesisre/…