OSDN Git Service

trace updater (#2109)
[bytom/bytom.git] / node / node.go
index 11aa179..f7931e9 100644 (file)
@@ -79,6 +79,8 @@ func NewNode(config *cfg.Config) *Node {
                cmn.Exit(cmn.Fmt("Failed to create chain structure: %v", err))
        }
 
+       startTraceUpdater(chain, config)
+
        var accounts *account.Manager
        var assets *asset.Registry
        var wallet *w.Wallet
@@ -140,6 +142,14 @@ func NewNode(config *cfg.Config) *Node {
        return node
 }
 
+func startTraceUpdater(chain *protocol.Chain, cfg *cfg.Config) {
+       db := dbm.NewDB("trace", cfg.DBBackend, cfg.DBDir())
+       store := contract.NewTraceStore(db)
+       tracerService := contract.NewTraceService(contract.NewInfrastructure(chain, store))
+       traceUpdater := contract.NewTraceUpdater(tracerService, chain)
+       go traceUpdater.Sync()
+}
+
 func initNodeConfig(config *cfg.Config) error {
        if err := lockDataDirectory(config); err != nil {
                cmn.Exit("Error: " + err.Error())