|
|
|
@ -9,8 +9,8 @@ import ( |
|
|
|
|
"github.com/ethereum/ethchain-go" |
|
|
|
|
"github.com/ethereum/ethdb-go" |
|
|
|
|
"github.com/ethereum/ethutil-go" |
|
|
|
|
"github.com/ethereum/ethwire-go" |
|
|
|
|
"math/big" |
|
|
|
|
_ "github.com/ethereum/ethwire-go" |
|
|
|
|
_ "math/big" |
|
|
|
|
"os" |
|
|
|
|
"strings" |
|
|
|
|
) |
|
|
|
@ -48,6 +48,9 @@ func (i *Console) ValidateInput(action string, argumentLength int) error { |
|
|
|
|
case action == "encode" && argumentLength != 1: |
|
|
|
|
err = true |
|
|
|
|
expArgCount = 1 |
|
|
|
|
case action == "gettx" && argumentLength != 1: |
|
|
|
|
err = true |
|
|
|
|
expArgCount = 1 |
|
|
|
|
case action == "tx" && argumentLength != 2: |
|
|
|
|
err = true |
|
|
|
|
expArgCount = 2 |
|
|
|
@ -125,6 +128,7 @@ func (i *Console) ParseInput(input string) bool { |
|
|
|
|
} |
|
|
|
|
case "encode": |
|
|
|
|
fmt.Printf("%q\n", ethutil.Encode(tokens[1])) |
|
|
|
|
/* |
|
|
|
|
case "newblk": |
|
|
|
|
block := ethchain.CreateBlock( |
|
|
|
|
i.ethereum.BlockManager.BlockChain().LastBlock.State().Root, |
|
|
|
@ -135,18 +139,28 @@ func (i *Console) ParseInput(input string) bool { |
|
|
|
|
"", |
|
|
|
|
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))
|
|
|
|
|
//err := i.ethereum.BlockManager.ProcessBlock(block)
|
|
|
|
|
//if err != nil {
|
|
|
|
|
// fmt.Println(err)
|
|
|
|
|
//} else {
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
*/ |
|
|
|
|
case "tx": |
|
|
|
|
tx := ethchain.NewTransaction(tokens[1], ethutil.Big(tokens[2]), []string{""}) |
|
|
|
|
fmt.Printf("tx: %x\n", tx.Hash()) |
|
|
|
|
|
|
|
|
|
i.ethereum.TxPool.QueueTransaction(tx) |
|
|
|
|
case "gettx": |
|
|
|
|
addr, _ := hex.DecodeString(tokens[1]) |
|
|
|
|
data, _ := ethutil.Config.Db.Get(addr) |
|
|
|
|
if len(data) != 0 { |
|
|
|
|
decoder := ethutil.NewRlpDecoder(data) |
|
|
|
|
fmt.Println(decoder) |
|
|
|
|
} else { |
|
|
|
|
fmt.Println("gettx: tx not found") |
|
|
|
|
} |
|
|
|
|
case "exit", "quit", "q": |
|
|
|
|
return false |
|
|
|
|
case "help": |
|
|
|
|