Updated to temporary trie
This commit is contained in:
parent
578b63e2b8
commit
44900e363c
@ -116,8 +116,8 @@ func (dag *Dagger) Node(L uint64, i uint64) *big.Int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Sum(sha hash.Hash) []byte {
|
func Sum(sha hash.Hash) []byte {
|
||||||
in := make([]byte, 32)
|
//in := make([]byte, 32)
|
||||||
return sha.Sum(in)
|
return sha.Sum(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dag *Dagger) Eval(N *big.Int) *big.Int {
|
func (dag *Dagger) Eval(N *big.Int) *big.Int {
|
||||||
@ -146,3 +146,4 @@ func (dag *Dagger) Eval(N *big.Int) *big.Int {
|
|||||||
|
|
||||||
return ret.SetBytes(Sum(sha))
|
return ret.SetBytes(Sum(sha))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,12 @@ func (i *Console) ValidateInput(action string, argumentLength int) error {
|
|||||||
case action == "dag" && argumentLength != 2:
|
case action == "dag" && argumentLength != 2:
|
||||||
err = true
|
err = true
|
||||||
expArgCount = 2
|
expArgCount = 2
|
||||||
|
case action == "decode" && argumentLength != 1:
|
||||||
|
err = true
|
||||||
|
expArgCount = 1
|
||||||
|
case action == "encode" && argumentLength != 1:
|
||||||
|
err = true
|
||||||
|
expArgCount = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if err {
|
if err {
|
||||||
@ -46,6 +52,15 @@ func (i *Console) ValidateInput(action string, argumentLength int) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (i *Console) PrintRoot() {
|
||||||
|
root := ethutil.Conv(i.trie.RootT)
|
||||||
|
if len(root.AsBytes()) != 0 {
|
||||||
|
fmt.Println(hex.EncodeToString(root.AsBytes()))
|
||||||
|
} else {
|
||||||
|
fmt.Println(i.trie.RootT)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (i *Console) ParseInput(input string) bool {
|
func (i *Console) ParseInput(input string) bool {
|
||||||
scanner := bufio.NewScanner(strings.NewReader(input))
|
scanner := bufio.NewScanner(strings.NewReader(input))
|
||||||
scanner.Split(bufio.ScanWords)
|
scanner.Split(bufio.ScanWords)
|
||||||
@ -70,21 +85,26 @@ func (i *Console) ParseInput(input string) bool {
|
|||||||
} else {
|
} else {
|
||||||
switch tokens[0] {
|
switch tokens[0] {
|
||||||
case "update":
|
case "update":
|
||||||
i.trie.Update(tokens[1], tokens[2])
|
i.trie.UpdateT(tokens[1], tokens[2])
|
||||||
|
|
||||||
fmt.Println(hex.EncodeToString([]byte(i.trie.Root)))
|
i.PrintRoot()
|
||||||
case "get":
|
case "get":
|
||||||
fmt.Println(i.trie.Get(tokens[1]))
|
fmt.Println(i.trie.GetT(tokens[1]))
|
||||||
case "root":
|
case "root":
|
||||||
fmt.Println(hex.EncodeToString([]byte(i.trie.Root)))
|
i.PrintRoot()
|
||||||
case "rawroot":
|
case "rawroot":
|
||||||
fmt.Println(i.trie.Root)
|
fmt.Println(i.trie.RootT)
|
||||||
case "print":
|
case "print":
|
||||||
i.db.Print()
|
i.db.Print()
|
||||||
case "dag":
|
case "dag":
|
||||||
fmt.Println(DaggerVerify(ethutil.Big(tokens[1]), // hash
|
fmt.Println(DaggerVerify(ethutil.Big(tokens[1]), // hash
|
||||||
ethutil.BigPow(2, 36), // diff
|
ethutil.BigPow(2, 36), // diff
|
||||||
ethutil.Big(tokens[2]))) // nonce
|
ethutil.Big(tokens[2]))) // nonce
|
||||||
|
case "decode":
|
||||||
|
d, _ := ethutil.Decode([]byte(tokens[1]), 0)
|
||||||
|
fmt.Printf("%q\n", d)
|
||||||
|
case "encode":
|
||||||
|
fmt.Printf("%q\n", ethutil.Encode(tokens[1]))
|
||||||
case "exit", "quit", "q":
|
case "exit", "quit", "q":
|
||||||
return false
|
return false
|
||||||
case "help":
|
case "help":
|
||||||
@ -95,7 +115,11 @@ func (i *Console) ParseInput(input string) bool {
|
|||||||
"root - Prints the hex encoded merkle root\n" +
|
"root - Prints the hex encoded merkle root\n" +
|
||||||
"rawroot - Prints the raw merkle root\n" +
|
"rawroot - Prints the raw merkle root\n" +
|
||||||
"\033[1m= Dagger =\033[0m\n" +
|
"\033[1m= Dagger =\033[0m\n" +
|
||||||
"dag HASH NONCE - Verifies a nonce with the given hash with dagger\n")
|
"dag HASH NONCE - Verifies a nonce with the given hash with dagger\n" +
|
||||||
|
"\033[1m= Enroding =\033[0m\n" +
|
||||||
|
"decode STR\n" +
|
||||||
|
"encode STR\n")
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fmt.Println("Unknown command:", tokens[0])
|
fmt.Println("Unknown command:", tokens[0])
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ func main() {
|
|||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
for {
|
for {
|
||||||
res := dagger.Search(ethutil.Big("01001"), ethutil.BigPow(2, 26))
|
res := dagger.Search(ethutil.Big("01001"), ethutil.BigPow(2, 36))
|
||||||
server.Broadcast("blockmine", ethutil.Encode(res.String()))
|
server.Broadcast("blockmine", ethutil.Encode(res.String()))
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -72,7 +72,6 @@ func main() {
|
|||||||
|
|
||||||
server.Start()
|
server.Start()
|
||||||
|
|
||||||
|
|
||||||
// Wait for shutdown
|
// Wait for shutdown
|
||||||
server.WaitForShutdown()
|
server.WaitForShutdown()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user