aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ethereal/flags.go14
-rw-r--r--ethereal/main.go32
-rw-r--r--ethereal/ui/gui.go6
-rw-r--r--ethereum/cmd.go46
-rw-r--r--ethereum/flags.go10
-rw-r--r--ethereum/javascript_runtime.go4
-rw-r--r--ethereum/main.go14
-rw-r--r--utils/cmd.go326
8 files changed, 226 insertions, 226 deletions
diff --git a/ethereal/flags.go b/ethereal/flags.go
index 7e83e355f..9bed38d9f 100644
--- a/ethereal/flags.go
+++ b/ethereal/flags.go
@@ -1,13 +1,13 @@
package main
import (
+ "bitbucket.org/kardianos/osext"
+ "flag"
"fmt"
+ "github.com/ethereum/eth-go/ethlog"
"os"
- "os/user"
- "path"
- "github.com/ethereum/eth-go/ethlog"
- "flag"
- "bitbucket.org/kardianos/osext"
+ "os/user"
+ "path"
"path/filepath"
"runtime"
)
@@ -60,8 +60,8 @@ func defaultAssetPath() string {
}
func defaultDataDir() string {
- usr, _ := user.Current()
- return path.Join(usr.HomeDir, ".ethereal")
+ usr, _ := user.Current()
+ return path.Join(usr.HomeDir, ".ethereal")
}
var defaultConfigFile = path.Join(defaultDataDir(), "conf.ini")
diff --git a/ethereal/main.go b/ethereal/main.go
index cfd85afe7..799b50e4b 100644
--- a/ethereal/main.go
+++ b/ethereal/main.go
@@ -1,12 +1,12 @@
package main
import (
+ "github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/go-ethereum/ethereal/ui"
"github.com/ethereum/go-ethereum/utils"
- "github.com/ethereum/eth-go/ethlog"
"github.com/go-qml/qml"
- "runtime"
"os"
+ "runtime"
)
func main() {
@@ -32,11 +32,11 @@ func main() {
ethereum := utils.NewEthereum(UseUPnP, OutboundPort, MaxPeer)
// create, import, export keys
- utils.KeyTasks(GenAddr, ImportKey, ExportKey, NonInteractive)
+ utils.KeyTasks(GenAddr, ImportKey, ExportKey, NonInteractive)
- if ShowGenesis {
- utils.ShowGenesis(ethereum)
- }
+ if ShowGenesis {
+ utils.ShowGenesis(ethereum)
+ }
if StartRpc {
utils.StartRpc(ethereum, RpcPort)
@@ -45,17 +45,17 @@ func main() {
gui := ethui.New(ethereum, LogLevel)
utils.RegisterInterrupt(func(os.Signal) {
- gui.Stop()
- })
+ gui.Stop()
+ })
utils.StartEthereum(ethereum, UseSeed)
- // gui blocks the main thread
- gui.Start(AssetPath)
- // we need to run the interrupt callbacks in case gui is closed
- // this skips if we got here by actual interrupt stopping the GUI
+ // gui blocks the main thread
+ gui.Start(AssetPath)
+ // we need to run the interrupt callbacks in case gui is closed
+ // this skips if we got here by actual interrupt stopping the GUI
if !interrupted {
utils.RunInterruptCallbacks(os.Interrupt)
- }
- // this blocks the thread
- ethereum.WaitForShutdown()
- ethlog.Flush()
+ }
+ // this blocks the thread
+ ethereum.WaitForShutdown()
+ ethlog.Flush()
}
diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index 83b1508e9..be7b395d8 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -6,9 +6,9 @@ import (
"github.com/ethereum/eth-go"
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethdb"
+ "github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethutil"
- "github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/go-ethereum/utils"
"github.com/go-qml/qml"
"math/big"
@@ -35,9 +35,9 @@ type Gui struct {
addr []byte
- pub *ethpub.PEthereum
+ pub *ethpub.PEthereum
logLevel ethlog.LogLevel
- open bool
+ open bool
}
// Create GUI, but doesn't start it
diff --git a/ethereum/cmd.go b/ethereum/cmd.go
index 2dfd54666..08147824d 100644
--- a/ethereum/cmd.go
+++ b/ethereum/cmd.go
@@ -1,32 +1,32 @@
package main
import (
- "github.com/ethereum/eth-go"
- "github.com/ethereum/go-ethereum/utils"
- "os"
- "io/ioutil"
+ "github.com/ethereum/eth-go"
+ "github.com/ethereum/go-ethereum/utils"
+ "io/ioutil"
+ "os"
)
func InitJsConsole(ethereum *eth.Ethereum) {
- repl := NewJSRepl(ethereum)
- go repl.Start()
- utils.RegisterInterrupt(func(os.Signal) {
- repl.Stop()
- })
+ repl := NewJSRepl(ethereum)
+ go repl.Start()
+ utils.RegisterInterrupt(func(os.Signal) {
+ repl.Stop()
+ })
}
-func ExecJsFile (ethereum *eth.Ethereum, InputFile string) {
- file, err := os.Open(InputFile)
- if err != nil {
- logger.Fatalln(err)
- }
- content, err := ioutil.ReadAll(file)
- if err != nil {
- logger.Fatalln(err)
- }
- re := NewJSRE(ethereum)
- utils.RegisterInterrupt(func(os.Signal) {
- re.Stop()
- })
- re.Run(string(content))
+func ExecJsFile(ethereum *eth.Ethereum, InputFile string) {
+ file, err := os.Open(InputFile)
+ if err != nil {
+ logger.Fatalln(err)
+ }
+ content, err := ioutil.ReadAll(file)
+ if err != nil {
+ logger.Fatalln(err)
+ }
+ re := NewJSRE(ethereum)
+ utils.RegisterInterrupt(func(os.Signal) {
+ re.Stop()
+ })
+ re.Run(string(content))
}
diff --git a/ethereum/flags.go b/ethereum/flags.go
index 232a2bc92..8fb87cf34 100644
--- a/ethereum/flags.go
+++ b/ethereum/flags.go
@@ -3,10 +3,10 @@ package main
import (
"flag"
"fmt"
+ "github.com/ethereum/eth-go/ethlog"
"os"
- "os/user"
- "path"
- "github.com/ethereum/eth-go/ethlog"
+ "os/user"
+ "path"
)
var Identifier string
@@ -34,8 +34,8 @@ var StartJsConsole bool
var InputFile string
func defaultDataDir() string {
- usr, _ := user.Current()
- return path.Join(usr.HomeDir, ".ethereum")
+ usr, _ := user.Current()
+ return path.Join(usr.HomeDir, ".ethereum")
}
var defaultConfigFile = path.Join(defaultDataDir(), "conf.ini")
diff --git a/ethereum/javascript_runtime.go b/ethereum/javascript_runtime.go
index 0a9a882ad..0dfe07a54 100644
--- a/ethereum/javascript_runtime.go
+++ b/ethereum/javascript_runtime.go
@@ -1,12 +1,12 @@
- package main
+package main
import (
"fmt"
"github.com/ethereum/eth-go"
"github.com/ethereum/eth-go/ethchain"
+ "github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethutil"
- "github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/go-ethereum/utils"
"github.com/obscuren/otto"
"io/ioutil"
diff --git a/ethereum/main.go b/ethereum/main.go
index 93b2b47d3..6b1995eec 100644
--- a/ethereum/main.go
+++ b/ethereum/main.go
@@ -1,8 +1,8 @@
package main
import (
- "github.com/ethereum/go-ethereum/utils"
"github.com/ethereum/eth-go/ethlog"
+ "github.com/ethereum/go-ethereum/utils"
"runtime"
)
@@ -24,11 +24,11 @@ func main() {
ethereum := utils.NewEthereum(UseUPnP, OutboundPort, MaxPeer)
// create, import, export keys
- utils.KeyTasks(GenAddr, ImportKey, ExportKey, NonInteractive)
+ utils.KeyTasks(GenAddr, ImportKey, ExportKey, NonInteractive)
- if ShowGenesis {
- utils.ShowGenesis(ethereum)
- }
+ if ShowGenesis {
+ utils.ShowGenesis(ethereum)
+ }
if StartMining {
utils.StartMining(ethereum)
@@ -48,6 +48,6 @@ func main() {
utils.StartEthereum(ethereum, UseSeed)
// this blocks the thread
- ethereum.WaitForShutdown()
- ethlog.Flush()
+ ethereum.WaitForShutdown()
+ ethlog.Flush()
}
diff --git a/utils/cmd.go b/utils/cmd.go
index db5ec5b48..c084542b4 100644
--- a/utils/cmd.go
+++ b/utils/cmd.go
@@ -1,20 +1,20 @@
package utils
import (
- "github.com/ethereum/eth-go"
- "github.com/ethereum/eth-go/ethminer"
- "github.com/ethereum/eth-go/ethpub"
- "github.com/ethereum/eth-go/ethrpc"
- "github.com/ethereum/eth-go/ethutil"
- "github.com/ethereum/eth-go/ethlog"
- "log"
- "io"
- "path"
- "os"
- "os/signal"
- "fmt"
- "time"
- "strings"
+ "fmt"
+ "github.com/ethereum/eth-go"
+ "github.com/ethereum/eth-go/ethlog"
+ "github.com/ethereum/eth-go/ethminer"
+ "github.com/ethereum/eth-go/ethpub"
+ "github.com/ethereum/eth-go/ethrpc"
+ "github.com/ethereum/eth-go/ethutil"
+ "io"
+ "log"
+ "os"
+ "os/signal"
+ "path"
+ "strings"
+ "time"
)
var logger = ethlog.NewLogger("CLI")
@@ -22,142 +22,142 @@ var interruptCallbacks = []func(os.Signal){}
// Register interrupt handlers callbacks
func RegisterInterrupt(cb func(os.Signal)) {
- interruptCallbacks = append(interruptCallbacks, cb)
+ interruptCallbacks = append(interruptCallbacks, cb)
}
// go routine that call interrupt handlers in order of registering
func HandleInterrupt() {
- c := make(chan os.Signal, 1)
- go func() {
- signal.Notify(c, os.Interrupt)
- for sig := range c {
- logger.Errorf("Shutting down (%v) ... \n", sig)
- RunInterruptCallbacks(sig)
- }
- }()
+ c := make(chan os.Signal, 1)
+ go func() {
+ signal.Notify(c, os.Interrupt)
+ for sig := range c {
+ logger.Errorf("Shutting down (%v) ... \n", sig)
+ RunInterruptCallbacks(sig)
+ }
+ }()
}
func RunInterruptCallbacks(sig os.Signal) {
- for _, cb := range interruptCallbacks {
- cb(sig)
- }
+ for _, cb := range interruptCallbacks {
+ cb(sig)
+ }
}
func AbsolutePath(Datadir string, filename string) string {
- if path.IsAbs(filename) {
- return filename
- }
- return path.Join(Datadir, filename)
-}
-
-func openLogFile (Datadir string, filename string) *os.File {
- path := AbsolutePath(Datadir, filename)
- file, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
- if err != nil {
- panic(fmt.Sprintf("error opening log file '%s': %v", filename, err))
- }
- return file
-}
-
-func confirm (message string) bool {
- fmt.Println(message, "Are you sure? (y/n)")
- var r string
- fmt.Scanln(&r)
- for ; ; fmt.Scanln(&r) {
- if r == "n" || r == "y" {
- break
- } else {
- fmt.Printf("Yes or no?", r)
- }
- }
- return r == "y"
+ if path.IsAbs(filename) {
+ return filename
+ }
+ return path.Join(Datadir, filename)
+}
+
+func openLogFile(Datadir string, filename string) *os.File {
+ path := AbsolutePath(Datadir, filename)
+ file, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
+ if err != nil {
+ panic(fmt.Sprintf("error opening log file '%s': %v", filename, err))
+ }
+ return file
+}
+
+func confirm(message string) bool {
+ fmt.Println(message, "Are you sure? (y/n)")
+ var r string
+ fmt.Scanln(&r)
+ for ; ; fmt.Scanln(&r) {
+ if r == "n" || r == "y" {
+ break
+ } else {
+ fmt.Printf("Yes or no?", r)
+ }
+ }
+ return r == "y"
}
func InitDataDir(Datadir string) {
- _, err := os.Stat(Datadir)
- if err != nil {
- if os.IsNotExist(err) {
- fmt.Printf("Debug logging directory '%s' doesn't exist, creating it\n", Datadir)
- os.Mkdir(Datadir, 0777)
- }
- }
-}
-
-func InitLogging (Datadir string, LogFile string, LogLevel int, DebugFile string) {
- var writer io.Writer
- if LogFile == "" {
- writer = os.Stdout
- } else {
- writer = openLogFile(Datadir, LogFile)
- }
- ethlog.AddLogSystem(ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.LogLevel(LogLevel)))
- if DebugFile != "" {
- writer = openLogFile(Datadir, DebugFile)
- ethlog.AddLogSystem(ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.DebugLevel))
- }
+ _, err := os.Stat(Datadir)
+ if err != nil {
+ if os.IsNotExist(err) {
+ fmt.Printf("Debug logging directory '%s' doesn't exist, creating it\n", Datadir)
+ os.Mkdir(Datadir, 0777)
+ }
+ }
+}
+
+func InitLogging(Datadir string, LogFile string, LogLevel int, DebugFile string) {
+ var writer io.Writer
+ if LogFile == "" {
+ writer = os.Stdout
+ } else {
+ writer = openLogFile(Datadir, LogFile)
+ }
+ ethlog.AddLogSystem(ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.LogLevel(LogLevel)))
+ if DebugFile != "" {
+ writer = openLogFile(Datadir, DebugFile)
+ ethlog.AddLogSystem(ethlog.NewStdLogSystem(writer, log.LstdFlags, ethlog.DebugLevel))
+ }
}
func InitConfig(ConfigFile string, Datadir string, Identifier string, EnvPrefix string) {
- InitDataDir(Datadir)
- ethutil.ReadConfig(ConfigFile, Datadir, Identifier, EnvPrefix)
- ethutil.Config.Set("rpcport", "700")
+ InitDataDir(Datadir)
+ ethutil.ReadConfig(ConfigFile, Datadir, Identifier, EnvPrefix)
+ ethutil.Config.Set("rpcport", "700")
}
func exit(status int) {
- ethlog.Flush()
- os.Exit(status)
+ ethlog.Flush()
+ os.Exit(status)
}
func NewEthereum(UseUPnP bool, OutboundPort string, MaxPeer int) *eth.Ethereum {
- ethereum, err := eth.New(eth.CapDefault, UseUPnP)
- if err != nil {
- logger.Fatalln("eth start err:", err)
- }
- ethereum.Port = OutboundPort
- ethereum.MaxPeers = MaxPeer
- return ethereum
+ ethereum, err := eth.New(eth.CapDefault, UseUPnP)
+ if err != nil {
+ logger.Fatalln("eth start err:", err)
+ }
+ ethereum.Port = OutboundPort
+ ethereum.MaxPeers = MaxPeer
+ return ethereum
}
func StartEthereum(ethereum *eth.Ethereum, UseSeed bool) {
- logger.Infof("Starting Ethereum v%s", ethutil.Config.Ver)
- ethereum.Start(UseSeed)
- RegisterInterrupt(func(sig os.Signal) {
- ethereum.Stop()
- ethlog.Flush()
- })
+ logger.Infof("Starting Ethereum v%s", ethutil.Config.Ver)
+ ethereum.Start(UseSeed)
+ RegisterInterrupt(func(sig os.Signal) {
+ ethereum.Stop()
+ ethlog.Flush()
+ })
}
func ShowGenesis(ethereum *eth.Ethereum) {
- logger.Infoln(ethereum.BlockChain().Genesis())
- exit(0)
+ logger.Infoln(ethereum.BlockChain().Genesis())
+ exit(0)
}
func KeyTasks(GenAddr bool, ImportKey string, ExportKey bool, NonInteractive bool) {
- switch {
- case GenAddr:
- if NonInteractive || confirm("This action overwrites your old private key.") {
- CreateKeyPair(true)
- }
- exit(0)
- case len(ImportKey) > 0:
- if NonInteractive || confirm("This action overwrites your old private key.") {
- // import should be from file
- mnemonic := strings.Split(ImportKey, " ")
- if len(mnemonic) == 24 {
- logger.Infoln("Got mnemonic key, importing.")
- key := ethutil.MnemonicDecode(mnemonic)
- ImportPrivateKey(key)
- } else if len(mnemonic) == 1 {
- logger.Infoln("Got hex key, importing.")
- ImportPrivateKey(ImportKey)
- } else {
- logger.Errorln("Did not recognise format, exiting.")
- }
- }
- exit(0)
- case ExportKey: // this should be exporting to a filename
- keyPair := ethutil.GetKeyRing().Get(0)
- fmt.Printf(`
+ switch {
+ case GenAddr:
+ if NonInteractive || confirm("This action overwrites your old private key.") {
+ CreateKeyPair(true)
+ }
+ exit(0)
+ case len(ImportKey) > 0:
+ if NonInteractive || confirm("This action overwrites your old private key.") {
+ // import should be from file
+ mnemonic := strings.Split(ImportKey, " ")
+ if len(mnemonic) == 24 {
+ logger.Infoln("Got mnemonic key, importing.")
+ key := ethutil.MnemonicDecode(mnemonic)
+ ImportPrivateKey(key)
+ } else if len(mnemonic) == 1 {
+ logger.Infoln("Got hex key, importing.")
+ ImportPrivateKey(ImportKey)
+ } else {
+ logger.Errorln("Did not recognise format, exiting.")
+ }
+ }
+ exit(0)
+ case ExportKey: // this should be exporting to a filename
+ keyPair := ethutil.GetKeyRing().Get(0)
+ fmt.Printf(`
Generating new address and keypair.
Please keep your keys somewhere save.
@@ -169,61 +169,61 @@ pubk: %x
save these words so you can restore your account later: %s
`, keyPair.Address(), keyPair.PrivateKey, keyPair.PublicKey)
- exit(0)
- default:
- // Creates a keypair if none exists
- CreateKeyPair(false)
- }
+ exit(0)
+ default:
+ // Creates a keypair if none exists
+ CreateKeyPair(false)
+ }
}
func StartRpc(ethereum *eth.Ethereum, RpcPort int) {
- var err error
- ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort)
- if err != nil {
- logger.Errorf("Could not start RPC interface (port %v): %v", RpcPort, err)
- } else {
- go ethereum.RpcServer.Start()
- }
+ var err error
+ ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort)
+ if err != nil {
+ logger.Errorf("Could not start RPC interface (port %v): %v", RpcPort, err)
+ } else {
+ go ethereum.RpcServer.Start()
+ }
}
var miner ethminer.Miner
func StartMining(ethereum *eth.Ethereum) bool {
- if !ethereum.Mining {
- ethereum.Mining = true
-
- if ethutil.GetKeyRing().Len() == 0 {
- logger.Errorln("No address found, can't start mining")
- ethereum.Mining = false
- return true //????
- }
- keyPair := ethutil.GetKeyRing().Get(0)
- addr := keyPair.Address()
-
- go func() {
- miner = ethminer.NewDefaultMiner(addr, ethereum)
- // Give it some time to connect with peers
- time.Sleep(3 * time.Second)
- logger.Infoln("Miner started")
- miner := ethminer.NewDefaultMiner(addr, ethereum)
- miner.Start()
- }()
- RegisterInterrupt(func(os.Signal) {
- StopMining(ethereum)
- })
- return true
- }
- return false
+ if !ethereum.Mining {
+ ethereum.Mining = true
+
+ if ethutil.GetKeyRing().Len() == 0 {
+ logger.Errorln("No address found, can't start mining")
+ ethereum.Mining = false
+ return true //????
+ }
+ keyPair := ethutil.GetKeyRing().Get(0)
+ addr := keyPair.Address()
+
+ go func() {
+ miner = ethminer.NewDefaultMiner(addr, ethereum)
+ // Give it some time to connect with peers
+ time.Sleep(3 * time.Second)
+ logger.Infoln("Miner started")
+ miner := ethminer.NewDefaultMiner(addr, ethereum)
+ miner.Start()
+ }()
+ RegisterInterrupt(func(os.Signal) {
+ StopMining(ethereum)
+ })
+ return true
+ }
+ return false
}
func StopMining(ethereum *eth.Ethereum) bool {
- if ethereum.Mining {
- miner.Stop()
- logger.Infoln("Miner stopped")
- ethereum.Mining = false
- return true
- }
- return false
+ if ethereum.Mining {
+ miner.Stop()
+ logger.Infoln("Miner stopped")
+ ethereum.Mining = false
+ return true
+ }
+ return false
}
// Replay block