I've been testing payments for shopping cart on a private chain. I create and deploy contracts to disburse payments among sellers. So if a shopper buys same items again the contracts for two carts become identical. What I've found is that addresses for identical contracts become identical. As far as I understand, contract's address should not depend upon contract's code. So my question is what am I missing? The geth version I am using is Geth/v1.8.19-stable-dae82f09/linux-amd64/go1.10.4. Here are receipts of two deployment transactions that deployed two contracts into the same address:
> eth.getTransactionReceipt('0xEB556C5C72EF32DA30D902E3740938990682356644A913CB746D562F867A5F0A') ;
{
blockHash: "0xc10d1434e0ec4b8179c7f1c8d96a341be3f4feb89772dcba87a71b870c7201a1",
blockNumber: 32159,
contractAddress: "0x380cccc971cc411ebdf7fd288420310901fcdbe6",
cumulativeGasUsed: 677993,
from: "0x5151510a0b0a011bc31690f3a3597d59afdd911c",
gasUsed: 677993,
logs: [],
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
status: "0x1",
to: null,
transactionHash: "0xeb556c5c72ef32da30d902e3740938990682356644a913cb746d562f867a5f0a",
transactionIndex: 0
}
> eth.getTransactionReceipt('0x5BEC8AB685A585E2163AEAC60AD1ACCF0D7FC42D8AECBDBCA246CD477BF62EEC') ;
{
blockHash: "0xa84390432bc702d92acca47389e1f2dabc7f7b5aba4cd37903c4f6bf85715fc6",
blockNumber: 28628,
contractAddress: "0x380cccc971cc411ebdf7fd288420310901fcdbe6",
cumulativeGasUsed: 677993,
from: "0x5151510a0b0a011bc31690f3a3597d59afdd911c",
gasUsed: 677993,
logs: [],
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
status: "0x1",
to: null,
transactionHash: "0x5bec8ab685a585e2163aeac60ad1accf0d7fc42d8aecbdbca246cd477bf62eec",
transactionIndex: 0
}