Skip to content

Instantly share code, notes, and snippets.

@colm
Created May 14, 2016 19:31
Show Gist options
  • Save colm/2ddda1e3e825ae6597a7edde43d28f27 to your computer and use it in GitHub Desktop.
Save colm/2ddda1e3e825ae6597a7edde43d28f27 to your computer and use it in GitHub Desktop.
// Based upon https://gist.github.com/jbaylina/2da7dba1496844f3ad2dc60b48cbc955
var crypto = require('crypto');
var fs= require('fs');
var solc = require('solc');
var input = {
'all.sol' : fs.readFileSync('all.sol', 'utf8')
};
var input2 = {
'Token.sol' : fs.readFileSync('DAO/Token.sol', 'utf8'),
'TokenCreation.sol' : fs.readFileSync('DAO/TokenCreation.sol', 'utf8'),
'ManagedAccount.sol' : fs.readFileSync('DAO/ManagedAccount.sol', 'utf8'),
'DAO.sol' : fs.readFileSync('DAO/DAO.sol', 'utf8')
};
console.log(solc.version())
for (i=0; i<10; i++) {
output = solc.compile({sources: input}, 1);
var hash = crypto.createHash('sha256').update(output.contracts.DAO.bytecode).digest('hex');
console.log(hash);
output = solc.compile({sources: input2}, 1); // reset compiler state
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment