ipld-eth-server/cmd/watch_contract/main.go
Matt K 572023cdf5 Commandline (#135)
* Add cmd line tool and Makefile

* Add shared utils pkg

* Add cmdline README

* Update godo for new structure
2018-01-25 13:21:55 -06:00

32 lines
912 B
Go

package main
import (
"flag"
"strings"
"github.com/8thlight/vulcanizedb/pkg/core"
"github.com/8thlight/vulcanizedb/pkg/geth"
"github.com/8thlight/vulcanizedb/utils"
)
func main() {
environment := flag.String("environment", "", "Environment name")
contractHash := flag.String("contract-hash", "", "contract-hash=x1234")
abiFilepath := flag.String("abi-filepath", "", "path/to/abifile.json")
network := flag.String("network", "", "ropsten")
flag.Parse()
contractHashLowered := strings.ToLower(*contractHash)
contractAbiString := utils.GetAbi(*abiFilepath, contractHashLowered, *network)
config := utils.LoadConfig(*environment)
blockchain := geth.NewBlockchain(config.Client.IPCPath)
repository := utils.LoadPostgres(config.Database, blockchain.Node())
watchedContract := core.Contract{
Abi: contractAbiString,
Hash: contractHashLowered,
}
repository.CreateContract(watchedContract)
}