From bb8afba20a56552cef71681f72fb192bcda88c1d Mon Sep 17 00:00:00 2001 From: obscuren Date: Sat, 28 Dec 2013 02:24:16 +0100 Subject: [PATCH] Updated tests --- block.go | 27 +++++++++++++++++---------- ethereum.go | 15 ++++++++++----- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/block.go b/block.go index f8bf2ce3b..f666b09db 100644 --- a/block.go +++ b/block.go @@ -1,7 +1,7 @@ package main import ( - _"fmt" + "fmt" "time" ) @@ -44,21 +44,28 @@ func (block *Block) MarshalRlp() []byte { encTx[i] = string(tx.MarshalRlp()) } - enc := RlpEncode([]interface{}{ + header := []interface{}{ block.number, - block.prevHash, + //block.prevHash, // Sha of uncles - block.coinbase, + //block.coinbase, // root state - Sha256Bin([]byte(RlpEncode(encTx))), - block.difficulty, - block.time, - block.nonce, + //Sha256Bin([]byte(RlpEncode(encTx))), + //block.difficulty, + //block.time, + //block.nonce, // extra? - }) + } - return []byte(enc) + return Encode([]interface{}{header, encTx}) } func (block *Block) UnmarshalRlp(data []byte) { + fmt.Printf("%q\n", data) + t, _ := Decode(data,0) + if slice, ok := t.([]interface{}); ok { + if txes, ok := slice[1].([]interface{}); ok { + fmt.Println(txes[0]) + } + } } diff --git a/ethereum.go b/ethereum.go index 78f08c15e..d3cecdc94 100644 --- a/ethereum.go +++ b/ethereum.go @@ -9,7 +9,7 @@ func main() { bm := NewBlockManager() - tx := NewTransaction(0x0, 20, []string{ + tx := NewTransaction("\x00", 20, []string{ "SET 10 6", "LD 10 10", "LT 10 1 20", @@ -23,13 +23,18 @@ func main() { "SET 255 15", "JMP 255", }) - tx2 := NewTransaction(0x0, 20, []string{"SET 10 6", "LD 10 10"}) + txData := tx.MarshalRlp() + + copyTx := &Transaction{} + copyTx.UnmarshalRlp(txData) + + + tx2 := NewTransaction("\x00", 20, []string{"SET 10 6", "LD 10 10"}) blck := NewBlock([]*Transaction{tx2, tx}) bm.ProcessBlock( blck ) - //fmt.Printf("rlp encoded Tx %q\n", tx.MarshalRlp()) - fmt.Printf("block enc %q\n", blck.MarshalRlp()) - fmt.Printf("block hash %q\n", blck.Hash()) + //t := blck.MarshalRlp() + //blck.UnmarshalRlp(t) }