good morning!!!!

Skip to content
Snippets Groups Projects
Commit 44900e36 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Updated to temporary trie

parent 578b63e2
No related branches found
No related tags found
No related merge requests found
......@@ -116,8 +116,8 @@ func (dag *Dagger) Node(L uint64, i uint64) *big.Int {
}
func Sum(sha hash.Hash) []byte {
in := make([]byte, 32)
return sha.Sum(in)
//in := make([]byte, 32)
return sha.Sum(nil)
}
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))
}
......@@ -37,6 +37,12 @@ func (i *Console) ValidateInput(action string, argumentLength int) error {
case action == "dag" && argumentLength != 2:
err = true
expArgCount = 2
case action == "decode" && argumentLength != 1:
err = true
expArgCount = 1
case action == "encode" && argumentLength != 1:
err = true
expArgCount = 1
}
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 {
scanner := bufio.NewScanner(strings.NewReader(input))
scanner.Split(bufio.ScanWords)
......@@ -70,21 +85,26 @@ func (i *Console) ParseInput(input string) bool {
} else {
switch tokens[0] {
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":
fmt.Println(i.trie.Get(tokens[1]))
fmt.Println(i.trie.GetT(tokens[1]))
case "root":
fmt.Println(hex.EncodeToString([]byte(i.trie.Root)))
i.PrintRoot()
case "rawroot":
fmt.Println(i.trie.Root)
fmt.Println(i.trie.RootT)
case "print":
i.db.Print()
case "dag":
fmt.Println(DaggerVerify(ethutil.Big(tokens[1]), // hash
ethutil.BigPow(2, 36), // diff
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":
return false
case "help":
......@@ -95,7 +115,11 @@ func (i *Console) ParseInput(input string) bool {
"root - Prints the hex encoded merkle root\n" +
"rawroot - Prints the raw merkle root\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:
fmt.Println("Unknown command:", tokens[0])
}
......
......@@ -64,7 +64,7 @@ func main() {
go func() {
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()))
}
}()
......@@ -72,7 +72,6 @@ func main() {
server.Start()
// Wait for shutdown
server.WaitForShutdown()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment