Now contract id is used to be storage key for smart contract. However if someone wants to get storage content, he has to invoke RPC method [getcontractstate] to get id. This is very inconvenient for developers to test contracts. My advice is to write id as a parameter into abi and manifest files whenever it's successfully deployed. This is much more conveninet.