class Ethereum::Initializer

Attributes

client[RW]
contracts[RW]
file[RW]

Public Class Methods

new(file, client = Ethereum::IpcClient.new) click to toggle source
# File lib/ethereumex/initializer.rb, line 6
def initialize(file, client = Ethereum::IpcClient.new)
  @file = File.read(file)
  @client = client
  sol_output = @client.compile_solidity(@file)
  contracts = sol_output["result"].keys
  @contracts = []
  contracts.each do |contract|
    abi = sol_output["result"][contract]["info"]["abiDefinition"] 
    name = contract
    code = sol_output["result"][contract]["code"]
    @contracts << Ethereum::Contract.new(name, code, abi)
  end
end

Public Instance Methods

build_all() click to toggle source
# File lib/ethereumex/initializer.rb, line 20
def build_all
  @contracts.each do |contract|
    contract.build(@client)
  end
end