diff options
author | obscuren <geffobscura@gmail.com> | 2014-07-01 19:48:28 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-07-01 19:48:28 +0800 |
commit | 114e715e3c9a547da28b385b85fa69514ae40636 (patch) | |
tree | 64503d09f1120ef2327a8184e46d5ee8bc7090bd /ethereum/main.go | |
parent | 0ce9003ba77c0552c9058caa55d2fea6711ac18c (diff) | |
parent | 253c23240b8cec56e2bb21072291e2f7ef1a49e9 (diff) | |
download | go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.tar go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.tar.gz go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.tar.bz2 go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.tar.lz go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.tar.xz go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.tar.zst go-tangerine-114e715e3c9a547da28b385b85fa69514ae40636.zip |
Merge branch 'ethersphere-feature/keys' into develop
Diffstat (limited to 'ethereum/main.go')
-rw-r--r-- | ethereum/main.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/ethereum/main.go b/ethereum/main.go new file mode 100644 index 000000000..1531871cb --- /dev/null +++ b/ethereum/main.go @@ -0,0 +1,57 @@ +package main + +import ( + "github.com/ethereum/eth-go/ethlog" + "github.com/ethereum/go-ethereum/utils" + "runtime" +) + +var logger = ethlog.NewLogger("CLI") + +func main() { + runtime.GOMAXPROCS(runtime.NumCPU()) + + utils.HandleInterrupt() + + // precedence: code-internal flag default < config file < environment variables < command line + Init() // parsing command line + utils.InitConfig(ConfigFile, Datadir, Identifier, "ETH") + + utils.InitDataDir(Datadir) + + utils.InitLogging(Datadir, LogFile, LogLevel, DebugFile) + + db := utils.NewDatabase() + + keyManager := utils.NewKeyManager(KeyStore, Datadir, db) + + // create, import, export keys + utils.KeyTasks(keyManager, KeyRing, GenAddr, SecretFile, ExportDir, NonInteractive) + + ethereum := utils.NewEthereum(db, keyManager, UseUPnP, OutboundPort, MaxPeer) + + if ShowGenesis { + utils.ShowGenesis(ethereum) + } + + if StartMining { + utils.StartMining(ethereum) + } + + // better reworked as cases + if StartJsConsole { + InitJsConsole(ethereum) + } else if len(InputFile) > 0 { + ExecJsFile(ethereum, InputFile) + } + + if StartRpc { + utils.StartRpc(ethereum, RpcPort) + } + + utils.StartEthereum(ethereum, UseSeed) + + // this blocks the thread + ethereum.WaitForShutdown() + ethlog.Flush() +} |