good morning!!!!

Skip to content
Snippets Groups Projects
Commit 97882a65 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Dev test mining

parent c636f8e3
No related branches found
No related tags found
No related merge requests found
......@@ -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,28 +128,39 @@ 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,
i.ethereum.BlockManager.LastBlockHash,
"123",
big.NewInt(1),
big.NewInt(1),
"",
i.ethereum.TxPool.Flush(),
)
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 "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":
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":
......
......@@ -6,11 +6,14 @@ import (
"github.com/ethereum/eth-go"
"github.com/ethereum/ethchain-go"
"github.com/ethereum/ethutil-go"
"github.com/ethereum/ethwire-go"
"log"
"math/big"
"os"
"os/signal"
"path"
"runtime"
"time"
)
const Debug = true
......@@ -78,21 +81,32 @@ func main() {
RegisterInterupts(ethereum)
ethereum.Start()
if StartMining {
log.Println("Mining started")
dagger := &ethchain.Dagger{}
log.Println("Dev Test Mining started")
// Fake block mining. It broadcasts a new block every 5 seconds
go func() {
for {
res := dagger.Search(ethutil.Big("01001"), ethutil.BigPow(2, 36))
log.Println("Res dagger", res)
//ethereum.Broadcast("blockmine", ethutil.Encode(res.String()))
time.Sleep(5 * time.Second)
block := ethchain.CreateBlock(
ethereum.BlockManager.BlockChain().LastBlock.State().Root,
ethereum.BlockManager.LastBlockHash,
"123",
big.NewInt(1),
big.NewInt(1),
"",
ethereum.TxPool.Flush())
ethereum.BlockManager.ProcessBlockWithState(block, block.State())
ethereum.Broadcast(ethwire.MsgBlockTy, block.RlpData())
log.Println("\n", block.String())
}
}()
}
ethereum.Start()
// Wait for shutdown
ethereum.WaitForShutdown()
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment