aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-01-15 04:48:16 +0800
committerobscuren <geffobscura@gmail.com>2014-01-15 04:48:16 +0800
commit44900e363cbc81b640bc16bcc7e6a50c22352be4 (patch)
treecf7ce2273bc493ec0757d1d445f9bb1aa9024ae3
parent578b63e2b8a32122fb45f9f053503e51d9a5c535 (diff)
downloaddexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.tar
dexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.tar.gz
dexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.tar.bz2
dexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.tar.lz
dexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.tar.xz
dexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.tar.zst
dexon-44900e363cbc81b640bc16bcc7e6a50c22352be4.zip
Updated to temporary trie
-rw-r--r--dagger.go5
-rw-r--r--dev_console.go36
-rw-r--r--ethereum.go3
3 files changed, 34 insertions, 10 deletions
diff --git a/dagger.go b/dagger.go
index 0cc63ea94..966bfa461 100644
--- a/dagger.go
+++ b/dagger.go
@@ -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))
}
+
diff --git a/dev_console.go b/dev_console.go
index 923c483c2..228cfc47e 100644
--- a/dev_console.go
+++ b/dev_console.go
@@ -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])
}
diff --git a/ethereum.go b/ethereum.go
index 7e13f197a..83f656fe2 100644
--- a/ethereum.go
+++ b/ethereum.go
@@ -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()
}