Contract hist (#84)

Add ability to query contract historical state
This commit is contained in:
Matt K
2017-12-04 12:54:33 -06:00
committed by ericmeyer
parent 7501fe70a7
commit 71de8e970d
8 changed files with 143 additions and 44 deletions
+16 -1
View File
@@ -7,6 +7,8 @@ import (
"fmt"
"math/big"
"github.com/8thlight/vulcanizedb/cmd"
"github.com/8thlight/vulcanizedb/pkg/geth"
"github.com/8thlight/vulcanizedb/pkg/watched_contracts"
@@ -15,14 +17,27 @@ import (
func main() {
environment := flag.String("environment", "", "Environment name")
contractHash := flag.String("contract-hash", "", "Contract hash to show summary")
_blockNumber := flag.Int64("block-number", -1, "Block number of summary")
flag.Parse()
config := cmd.LoadConfig(*environment)
blockchain := geth.NewGethBlockchain(config.Client.IPCPath)
repository := cmd.LoadPostgres(config.Database)
contractSummary, err := watched_contracts.NewSummary(blockchain, repository, *contractHash)
blockNumber := requestedBlockNumber(_blockNumber)
contractSummary, err := watched_contracts.NewSummary(blockchain, repository, *contractHash, blockNumber)
if err != nil {
log.Fatalln(err)
}
output := watched_contracts.GenerateConsoleOutput(contractSummary)
fmt.Println(output)
}
func requestedBlockNumber(blockNumber *int64) *big.Int {
var _blockNumber *big.Int
if *blockNumber == -1 {
_blockNumber = nil
} else {
_blockNumber = big.NewInt(*blockNumber)
}
return _blockNumber
}