RLP Updates
This commit is contained in:
parent
e28632b997
commit
2067175808
@ -124,13 +124,13 @@ func (i *Console) ParseInput(input string) bool {
|
|||||||
ethutil.BigPow(2, 36), // diff
|
ethutil.BigPow(2, 36), // diff
|
||||||
ethutil.Big(tokens[2]))) // nonce
|
ethutil.Big(tokens[2]))) // nonce
|
||||||
case "decode":
|
case "decode":
|
||||||
value := ethutil.NewRlpDecoder([]byte(tokens[1]))
|
value := ethutil.NewRlpValueFromBytes([]byte(tokens[1]))
|
||||||
fmt.Println(value)
|
fmt.Println(value)
|
||||||
case "getaddr":
|
case "getaddr":
|
||||||
encoded, _ := hex.DecodeString(tokens[1])
|
encoded, _ := hex.DecodeString(tokens[1])
|
||||||
d := i.ethereum.BlockManager.BlockChain().CurrentBlock.State().Get(string(encoded))
|
d := i.ethereum.BlockManager.BlockChain().CurrentBlock.State().Get(string(encoded))
|
||||||
if d != "" {
|
if d != "" {
|
||||||
decoder := ethutil.NewRlpDecoder([]byte(d))
|
decoder := ethutil.NewRlpValueFromBytes([]byte(d))
|
||||||
fmt.Println(decoder)
|
fmt.Println(decoder)
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("getaddr: address unknown")
|
fmt.Println("getaddr: address unknown")
|
||||||
@ -139,27 +139,10 @@ func (i *Console) ParseInput(input string) bool {
|
|||||||
i.ethereum.Broadcast(ethwire.MsgTalkTy, tokens[1])
|
i.ethereum.Broadcast(ethwire.MsgTalkTy, tokens[1])
|
||||||
case "addp":
|
case "addp":
|
||||||
i.ethereum.ConnectToPeer(tokens[1])
|
i.ethereum.ConnectToPeer(tokens[1])
|
||||||
|
case "pcount":
|
||||||
|
fmt.Println("peers:", i.ethereum.Peers().Len())
|
||||||
case "encode":
|
case "encode":
|
||||||
fmt.Printf("%q\n", ethutil.Encode(tokens[1]))
|
fmt.Printf("%q\n", ethutil.Encode(tokens[1]))
|
||||||
/*
|
|
||||||
case "newblk":
|
|
||||||
block := ethchain.CreateBlock(
|
|
||||||
i.ethereum.BlockManager.BlockChain().LastBlock.State().Root,
|
|
||||||
i.ethereum.BlockManager.LastBlockHash,
|
|
||||||
"123",
|
|
||||||
big.NewInt(1),
|
|
||||||
big.NewInt(1),
|
|
||||||
"",
|
|
||||||
i.ethereum.TxPool.Flush(),
|
|
||||||
)
|
|
||||||
err := i.ethereum.BlockManager.ProcessBlock(block)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
} else {
|
|
||||||
i.ethereum.Broadcast(ethwire.MsgBlockTy, block.RlpData())
|
|
||||||
}
|
|
||||||
//fmt.Println(ethutil.NewRlpValue(block.RlpData()).Get(0))
|
|
||||||
*/
|
|
||||||
case "tx":
|
case "tx":
|
||||||
tx := ethchain.NewTransaction(tokens[1], ethutil.Big(tokens[2]), []string{""})
|
tx := ethchain.NewTransaction(tokens[1], ethutil.Big(tokens[2]), []string{""})
|
||||||
fmt.Printf("%x\n", tx.Hash())
|
fmt.Printf("%x\n", tx.Hash())
|
||||||
@ -169,7 +152,7 @@ func (i *Console) ParseInput(input string) bool {
|
|||||||
addr, _ := hex.DecodeString(tokens[1])
|
addr, _ := hex.DecodeString(tokens[1])
|
||||||
data, _ := ethutil.Config.Db.Get(addr)
|
data, _ := ethutil.Config.Db.Get(addr)
|
||||||
if len(data) != 0 {
|
if len(data) != 0 {
|
||||||
decoder := ethutil.NewRlpDecoder(data)
|
decoder := ethutil.NewRlpValueFromBytes(data)
|
||||||
fmt.Println(decoder)
|
fmt.Println(decoder)
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("gettx: tx not found")
|
fmt.Println("gettx: tx not found")
|
||||||
|
19
ethereum.go
19
ethereum.go
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/hex"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/ethereum/eth-go"
|
"github.com/ethereum/eth-go"
|
||||||
@ -46,6 +47,8 @@ func main() {
|
|||||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
Init()
|
Init()
|
||||||
|
|
||||||
|
//fmt.Printf("%x\n", ethutil.Encode([]interface{}{ethutil.BigPow(2, 36).Bytes()}))
|
||||||
|
|
||||||
ethchain.InitFees()
|
ethchain.InitFees()
|
||||||
ethutil.ReadConfig()
|
ethutil.ReadConfig()
|
||||||
|
|
||||||
@ -89,17 +92,27 @@ func main() {
|
|||||||
// Fake block mining. It broadcasts a new block every 5 seconds
|
// Fake block mining. It broadcasts a new block every 5 seconds
|
||||||
go func() {
|
go func() {
|
||||||
pow := ðchain.EasyPow{}
|
pow := ðchain.EasyPow{}
|
||||||
|
addr, _ := hex.DecodeString("82c3b0b72cf62f1a9ce97c64da8072efa28225d8")
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
time.Sleep(blockTime * time.Second)
|
||||||
|
|
||||||
txs := ethereum.TxPool.Flush()
|
txs := ethereum.TxPool.Flush()
|
||||||
block := ethereum.BlockManager.BlockChain().NewBlock("82c3b0b72cf62f1a9ce97c64da8072efa28225d8", txs)
|
block := ethereum.BlockManager.BlockChain().NewBlock(addr, txs)
|
||||||
|
|
||||||
nonce := pow.Search(block)
|
nonce := pow.Search(block)
|
||||||
block.Nonce = nonce
|
block.Nonce = nonce
|
||||||
|
|
||||||
log.Println("nonce found:", nonce)
|
err := ethereum.BlockManager.ProcessBlockWithState(block, block.State())
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
} else {
|
||||||
|
//log.Println("nonce found:", nonce)
|
||||||
|
log.Println("\n+++++++ MINED BLK +++++++\n", block.String())
|
||||||
|
}
|
||||||
|
//os.Exit(1)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
time.Sleep(blockTime * time.Second)
|
|
||||||
|
|
||||||
|
|
||||||
block := ethchain.CreateBlock(
|
block := ethchain.CreateBlock(
|
||||||
|
Loading…
Reference in New Issue
Block a user