aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block.go27
-rw-r--r--ethereum.go15
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)
}