diff --git a/core/fullNode.go b/core/fullNode.go index d2a8754..7dd88fb 100644 --- a/core/fullNode.go +++ b/core/fullNode.go @@ -566,17 +566,22 @@ func (fn *FullNode) PrintRoutingTable() { func (fn *FullNode) Republish() { for { - <-time.After(time.Hour) + <-time.After(time.Minute) keys := fn.dht.Storage.GetKeys() - if keys == nil { - break + if len(keys) == 0 { + continue } for _, key := range keys { data, _ := fn.dht.Storage.Read(key, 0, 0) keyStr := base58.Encode(key) + fmt.Println("Key:", keyStr, "Data:", data) + if len(keyStr) == 0 || len(*data) == 0 { + break + } go func() { fn.StoreValue(keyStr, data) }() } + fmt.Println("Republish worked good for node:", fn.dht.ID) } } diff --git a/main.go b/main.go index 263af3e..93bff0a 100644 --- a/main.go +++ b/main.go @@ -78,7 +78,7 @@ func main() { if value == nil || (value != nil && len(value) == 0) { //fmt.Println("There is no value in the network for that key") } else { - //fmt.Println("The retrived value is:", string(value)) + fmt.Println("The retrived value is:", string(value)) } case "dht": fullNode.PrintRoutingTable() diff --git a/structs/storage.go b/structs/storage.go index 1315da6..30611c5 100644 --- a/structs/storage.go +++ b/structs/storage.go @@ -2,8 +2,7 @@ package structs import ( "errors" - - "github.com/jbenet/go-base58" + "fmt" ) type Storage struct { @@ -57,9 +56,12 @@ func (s *Storage) Delete(key []byte) error { func (s *Storage) GetKeys() [][]byte { keys := [][]byte{} - for k := range s.KV { - keyStr := base58.Decode(k) + for k, v := range s.KV { + fmt.Println("Inside GetKeys", k, v) + keyStr := []byte(k) + fmt.Println(keyStr) keys = append(keys, keyStr) } + fmt.Println(keys) return keys }