kopia lustrzana https://github.com/bugout-dev/moonstream
Smart verification humbug report counter
rodzic
cb8bb515aa
commit
c33d033ad9
|
@ -47,6 +47,7 @@ func add(blockchain string, blockNumbers []uint64) error {
|
||||||
|
|
||||||
fmt.Printf("Processed block number: %d\r", bn)
|
fmt.Printf("Processed block number: %d\r", bn)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,16 +60,18 @@ func show(blockNumbers []uint64) error {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
chainTxs := localConnections.getChainTxs(block.Hash(), bn)
|
// chainTxs := localConnections.getChainTxs(block.Hash(), bn)
|
||||||
|
|
||||||
var txs []common.Hash
|
var txs []common.Hash
|
||||||
for _, tx := range chainTxs {
|
// for _, tx := range chainTxs {
|
||||||
txs = append(txs, tx.Hash())
|
// txs = append(txs, tx.Hash())
|
||||||
}
|
// }
|
||||||
|
|
||||||
fmt.Printf("Block %d block with hash: %s and transactions: %s\n", block.Number(), block.Hash().String(), txs)
|
fmt.Printf("Block %d block with hash: %s and transactions: %s\n", block.Number(), block.Hash().String(), txs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Println("new range")
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,10 +125,5 @@ func verify(blockchain string, blockNumbers []uint64) error {
|
||||||
cnt++
|
cnt++
|
||||||
}
|
}
|
||||||
|
|
||||||
err := humbugReporter.submitReport(blockNumbers[0], blockNumbers[len(blockNumbers)-1])
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Unable to send humbug report: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,14 @@ import (
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/bugout-dev/moonstream/crawlers/ldb/configs"
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
// Block steps used to prevent long executor tasks and data loss possibility
|
||||||
BlockNumberStep = uint64(1000)
|
BlockNumberStep = uint64(1000)
|
||||||
|
|
||||||
BlockchainFlag = cli.StringFlag{
|
BlockchainFlag = cli.StringFlag{
|
||||||
|
@ -188,11 +190,28 @@ func processVerifyCommand(ctx *cli.Context) error {
|
||||||
return fmt.Errorf("Unable to set database connection: %v", err)
|
return fmt.Errorf("Unable to set database connection: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cnt := uint64(0)
|
||||||
|
reportStart := uint64(start)
|
||||||
for blocks := range BlockYield(start, end, BlockNumberStep) {
|
for blocks := range BlockYield(start, end, BlockNumberStep) {
|
||||||
err = verify(blockchain, blocks)
|
err = verify(blockchain, blocks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Error occurred due verify acction: %v", err)
|
return fmt.Errorf("Error occurred due verify acction: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cnt += BlockNumberStep
|
||||||
|
if cnt >= configs.BLOCK_RANGE_REPORT {
|
||||||
|
err := humbugReporter.submitReport(reportStart, blocks[len(blocks)-1]+1, "")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Unable to send humbug report: %v", err)
|
||||||
|
}
|
||||||
|
reportStart = blocks[len(blocks)-1] + 1
|
||||||
|
cnt = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err = humbugReporter.submitReport(start, end, "Total ")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Unable to send humbug report: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
localConnections.Chain.Stop()
|
localConnections.Chain.Stop()
|
||||||
|
|
|
@ -24,14 +24,15 @@ func setHumbugClient(sessionID string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *HumbugReporter) submitReport(start, end uint64) error {
|
// Publish report with verified blocks to entry
|
||||||
|
func (r *HumbugReporter) submitReport(start, end uint64, prefix string) error {
|
||||||
content, err := json.Marshal(corruptBlocks)
|
content, err := json.Marshal(corruptBlocks)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Unable to marshal to json: %v", err)
|
return fmt.Errorf("Unable to marshal to json: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
report := humbug.Report{
|
report := humbug.Report{
|
||||||
Title: fmt.Sprintf("LDB verifier %d-%d", start, end),
|
Title: fmt.Sprintf("%sLDB verifier %d-%d", prefix, start, end),
|
||||||
Content: string(content),
|
Content: string(content),
|
||||||
Tags: []string{
|
Tags: []string{
|
||||||
fmt.Sprintf("start:%d", start),
|
fmt.Sprintf("start:%d", start),
|
||||||
|
@ -39,7 +40,7 @@ func (r *HumbugReporter) submitReport(start, end uint64) error {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
r.Reporter.Publish(report)
|
r.Reporter.Publish(report)
|
||||||
fmt.Printf("Error for range %d-%d published\n", start, end)
|
fmt.Printf("%sLDB report for range %d-%d published\n", prefix, start, end)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package configs
|
package configs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -17,14 +15,3 @@ var MOONSTREAM_DB_URI = os.Getenv("MOONSTREAM_DB_URI")
|
||||||
// Humber configs
|
// Humber configs
|
||||||
var HUMBUG_LDB_CLIENT_ID = os.Getenv("HUMBUG_LDB_CLIENT_ID")
|
var HUMBUG_LDB_CLIENT_ID = os.Getenv("HUMBUG_LDB_CLIENT_ID")
|
||||||
var HUMBUG_LDB_TOKEN = os.Getenv("HUMBUG_LDB_TOKEN")
|
var HUMBUG_LDB_TOKEN = os.Getenv("HUMBUG_LDB_TOKEN")
|
||||||
var HUMBUG_LDB_BLOCK_RANGE_REPORT = os.Getenv("HUMBUG_LDB_BLOCK_RANGE_REPORT")
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
if HUMBUG_LDB_BLOCK_RANGE_REPORT != "" {
|
|
||||||
ldbRangeReport, err := strconv.ParseUint(HUMBUG_LDB_BLOCK_RANGE_REPORT, 16, 64)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
BLOCK_RANGE_REPORT = ldbRangeReport
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
export MOONSTREAM_DB_URI="postgresql://<username>:<password>@<db_host>:<db_port>/<db_name>"
|
export MOONSTREAM_DB_URI="postgresql://<username>:<password>@<db_host>:<db_port>/<db_name>"
|
||||||
export HUMBUG_LDB_CLIENT_ID="<client_id_of_crawl_service>"
|
export HUMBUG_LDB_CLIENT_ID="<client_id_of_crawl_service>"
|
||||||
export HUMBUG_LDB_TOKEN="<generate_humbug_integration_with_token_at_https://bugout.dev/account/teams>"
|
export HUMBUG_LDB_TOKEN="<generate_humbug_integration_with_token_at_https://bugout.dev/account/teams>"
|
||||||
export HUMBUG_LDB_BLOCK_RANGE_REPORT=100000
|
|
||||||
|
|
Ładowanie…
Reference in New Issue