github.com/shyftnetwork/go-empyrean@v1.8.3-0.20191127201940-fbfca9338f04/shyft-config/shyft-cli/web3/validSignersDeploy/index.js (about)

     1  var Web3 = require('web3')
     2  var fs = require('fs')
     3  var path = require('path')
     4  var solc = require('solc')
     5  
     6  var validSignersFile = fs.readFileSync('./validSigners.sol')
     7  
     8  var input = {
     9      language: 'Solidity',
    10      sources: {
    11          'ValidSigners.sol': {
    12              content: validSignersFile.toString()
    13          }
    14      },
    15      settings: {
    16          outputSelection: {
    17              '*': {
    18                  '*': [ '*' ]
    19              }
    20          }
    21      }
    22  }
    23  
    24  var output = JSON.parse(solc.compile(JSON.stringify(input)))
    25   
    26  console.log(output)
    27  
    28  var abiB
    29  var code
    30  
    31  for (var contractName in output.contracts['ValidSigners.sol']) {
    32      console.log(contractName + ': ' + output.contracts['ValidSigners.sol'][contractName].evm.bytecode.object)
    33      code = output.contracts['ValidSigners.sol'][contractName].evm.bytecode.object
    34      var abi = output.contracts['ValidSigners.sol'][contractName].abi
    35      abiB = abi
    36      console.log(JSON.stringify(abi))
    37  }
    38  
    39  let web3 = new Web3();
    40  web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
    41  
    42  var account = web3.eth.accounts[0]
    43  
    44  var validSignersContract = web3.eth.contract(abiB)
    45  
    46  let contract = validSignersContract.new({from: account, gas: 1000000, data: '0x' + code});
    47