Bytecode verification proof for the SplitOnDeploy contract (payable variant) deployed from
Vitalik Buterin's testing address.
- Contract address:
0x15ba299cd634698f86c348793935df129bf4ae27 - Deployed: Block 3,450,894 (March 31, 2017)
- Compiler: solc 0.4.9–0.4.11 (no optimizer)
- Verification: Near-exact bytecode match (constructor + runtime logic identical; only swarm metadata hash differs)
SplitOnDeploy.sol produces a constructor and runtime matching the on-chain bytecode in all
functional bytes. The swarm hash embedded in the trailing CBOR metadata differs because it
encodes a hash of the original source file content, which may have had different whitespace
or filename.
solc --bin SplitOnDeploy.sol
The constructor sends msg.value / 2 to each of:
0x1Db3439a222C519ab44bb1144fC28167b4Fa6eE6(Vitalik's deployer address)0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045(Vitalik's main address)
The deployed runtime is a 51-byte stub that includes the solc 0.4.7+ swarm hash suffix
(a165627a7a7230...0029).
The earlier 12-byte instances (0xa2af18e8 / 0xe0a62fa7, Sep–Oct 2016) used the same
constructor logic but were compiled with solc 0.4.4 (which predates swarm hash metadata),
resulting in a much smaller 12-byte always-revert runtime. See
split-on-deploy-verification.