aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorMaran <maran.hidskes@gmail.com>2014-05-14 18:41:30 +0800
committerMaran <maran.hidskes@gmail.com>2014-05-14 18:41:30 +0800
commite8147cf7c6f508910698e6743ad347c78010ffe3 (patch)
tree3783c2631e37291d6cf9ce5d4130f472c7e01cbb /utils
parent0d9c948b9b2c5eef6f0069f9aa05e9868f939444 (diff)
downloaddexon-e8147cf7c6f508910698e6743ad347c78010ffe3.tar.gz
dexon-e8147cf7c6f508910698e6743ad347c78010ffe3.tar.zst
dexon-e8147cf7c6f508910698e6743ad347c78010ffe3.zip
Refactored mining into utils and exposed it to ethereal. Partly fixes #43
Diffstat (limited to 'utils')
-rw-r--r--utils/cmd.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/utils/cmd.go b/utils/cmd.go
new file mode 100644
index 000000000..a99fd9eed
--- /dev/null
+++ b/utils/cmd.go
@@ -0,0 +1,31 @@
+package utils
+
+import (
+ "encoding/hex"
+ "github.com/ethereum/eth-go"
+ "github.com/ethereum/eth-go/ethchain"
+ "github.com/ethereum/eth-go/ethminer"
+ _ "github.com/ethereum/eth-go/ethrpc"
+ "github.com/ethereum/eth-go/ethutil"
+ "log"
+)
+
+func DoMining(ethereum *eth.Ethereum) {
+ // Set Mining status
+ ethereum.Mining = true
+
+ log.Println("Miner started")
+
+ // Fake block mining. It broadcasts a new block every 5 seconds
+ go func() {
+ data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
+ keyRing := ethutil.NewValueFromBytes(data)
+ addr := keyRing.Get(0).Bytes()
+
+ pair, _ := ethchain.NewKeyPairFromSec(ethutil.FromHex(hex.EncodeToString(addr)))
+
+ miner := ethminer.NewDefaultMiner(pair.Address(), ethereum)
+ miner.Start()
+
+ }()
+}