Skip to content

cartoonitunes/congress-verification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockchain Congress Contract — Bytecode Verification

Bytecode verification for the ethereum.org "Blockchain Congress" governance example, deployed by Alex Van de Sande on December 28, 2015.

Contract Details

Field Value
Address 0xdbf03b407c01e7cd3cbea99509d93f8dddc8c6fb
Deployer 0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb (Vitalik Buterin early address)
Creation TX 0xf8995e0d26f1347209e348f177c4167d0ff62bcb0c6bf98e26a9eab9dfa444ec
Block 762,866
Date 2015-12-28 21:18:26 UTC
Language Solidity
Compiler soljson v0.1.6+commit.d41f8b7c, optimizer ON

Verification Result

EXACT MATCH — The creation transaction input is byte-for-byte identical to compiled bytecode plus ABI-encoded constructor arguments.

Compiled bytecode:   5,229 bytes (soljson v0.1.6 opt=1)
Constructor args:      128 bytes (4 uint256 ABI-encoded)
Creation TX total:   5,357 bytes  EXACT MATCH
Deployed runtime:    4,582 bytes  EXACT MATCH (minus 32-byte CBOR metadata)

Constructor Arguments

Parameter Value Meaning
minimumQuorum 0 No quorum requirement
debatingPeriodInMinutes 10,000 ~7 days
majorityMargin 0 Simple majority
congressLeader 0x0 Deployer becomes owner

Source

congress.sol is extracted from the ethereum.org DAO tutorial page at git commit ac2f65b5 (December 28, 2015), the day of deployment. The ethereum.org website included this as a live example under "The Blockchain Congress."

Source reference: ethereum/ethereum-org repo, views/content/dao.md, commit ac2f65b5.

Reproduce

node -e "
var m = require('soljson-v0.1.6+commit.d41f8b7c.js');
var compile = m.cwrap('compileJSON', 'string', ['string', 'number']);
var src = require('fs').readFileSync('congress.sol', 'utf8');
var result = JSON.parse(compile(src, 1));
var bc = result.contracts['Congress'].bytecode;
require('fs').writeFileSync('compiled-check.hex', bc);
console.log('Size:', bc.length/2, 'bytes');
"

Expected: 5229 bytes. The creation TX (expected-creation.hex) = compiled-check.hex + 128 bytes of ABI-encoded constructor args.

About

Bytecode verification for the Ethereum Congress governance contract (0xdbf03b), deployed by Vitalik Buterin Dec 28 2015

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors