|
@@ -11,11 +11,11 @@ import (
|
|
|
|
|
|
|
|
"github.com/codegangsta/cli"
|
|
"github.com/codegangsta/cli"
|
|
|
"github.com/ethereum/go-ethereum/accounts"
|
|
"github.com/ethereum/go-ethereum/accounts"
|
|
|
|
|
+ "github.com/ethereum/go-ethereum/common"
|
|
|
"github.com/ethereum/go-ethereum/core"
|
|
"github.com/ethereum/go-ethereum/core"
|
|
|
"github.com/ethereum/go-ethereum/crypto"
|
|
"github.com/ethereum/go-ethereum/crypto"
|
|
|
"github.com/ethereum/go-ethereum/eth"
|
|
"github.com/ethereum/go-ethereum/eth"
|
|
|
"github.com/ethereum/go-ethereum/ethdb"
|
|
"github.com/ethereum/go-ethereum/ethdb"
|
|
|
- "github.com/ethereum/go-ethereum/common"
|
|
|
|
|
"github.com/ethereum/go-ethereum/event"
|
|
"github.com/ethereum/go-ethereum/event"
|
|
|
"github.com/ethereum/go-ethereum/logger"
|
|
"github.com/ethereum/go-ethereum/logger"
|
|
|
"github.com/ethereum/go-ethereum/p2p/nat"
|
|
"github.com/ethereum/go-ethereum/p2p/nat"
|
|
@@ -70,25 +70,23 @@ func NewApp(version, usage string) *cli.App {
|
|
|
|
|
|
|
|
var (
|
|
var (
|
|
|
// General settings
|
|
// General settings
|
|
|
- /*
|
|
|
|
|
- VMTypeFlag = cli.IntFlag{
|
|
|
|
|
- Name: "vm",
|
|
|
|
|
- Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM",
|
|
|
|
|
- }
|
|
|
|
|
- */
|
|
|
|
|
- UnlockedAccountFlag = cli.StringFlag{
|
|
|
|
|
- Name: "unlock",
|
|
|
|
|
- Usage: "Unlock a given account untill this programs exits (address:password)",
|
|
|
|
|
- }
|
|
|
|
|
- VMDebugFlag = cli.BoolFlag{
|
|
|
|
|
- Name: "vmdebug",
|
|
|
|
|
- Usage: "Virtual Machine debug output",
|
|
|
|
|
- }
|
|
|
|
|
DataDirFlag = cli.StringFlag{
|
|
DataDirFlag = cli.StringFlag{
|
|
|
Name: "datadir",
|
|
Name: "datadir",
|
|
|
Usage: "Data directory to be used",
|
|
Usage: "Data directory to be used",
|
|
|
Value: common.DefaultDataDir(),
|
|
Value: common.DefaultDataDir(),
|
|
|
}
|
|
}
|
|
|
|
|
+ ProtocolVersionFlag = cli.IntFlag{
|
|
|
|
|
+ Name: "protocolversion",
|
|
|
|
|
+ Usage: "ETH protocol version",
|
|
|
|
|
+ Value: eth.ProtocolVersion,
|
|
|
|
|
+ }
|
|
|
|
|
+ NetworkIdFlag = cli.IntFlag{
|
|
|
|
|
+ Name: "networkid",
|
|
|
|
|
+ Usage: "Network Id",
|
|
|
|
|
+ Value: eth.NetworkId,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // miner settings
|
|
|
MinerThreadsFlag = cli.IntFlag{
|
|
MinerThreadsFlag = cli.IntFlag{
|
|
|
Name: "minerthreads",
|
|
Name: "minerthreads",
|
|
|
Usage: "Number of miner threads",
|
|
Usage: "Number of miner threads",
|
|
@@ -98,11 +96,18 @@ var (
|
|
|
Name: "mine",
|
|
Name: "mine",
|
|
|
Usage: "Enable mining",
|
|
Usage: "Enable mining",
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // key settings
|
|
|
UnencryptedKeysFlag = cli.BoolFlag{
|
|
UnencryptedKeysFlag = cli.BoolFlag{
|
|
|
Name: "unencrypted-keys",
|
|
Name: "unencrypted-keys",
|
|
|
Usage: "disable private key disk encryption (for testing)",
|
|
Usage: "disable private key disk encryption (for testing)",
|
|
|
}
|
|
}
|
|
|
|
|
+ UnlockedAccountFlag = cli.StringFlag{
|
|
|
|
|
+ Name: "unlock",
|
|
|
|
|
+ Usage: "Unlock a given account untill this programs exits (address:password)",
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ // logging and debug settings
|
|
|
LogFileFlag = cli.StringFlag{
|
|
LogFileFlag = cli.StringFlag{
|
|
|
Name: "logfile",
|
|
Name: "logfile",
|
|
|
Usage: "Send log output to a file",
|
|
Usage: "Send log output to a file",
|
|
@@ -117,6 +122,10 @@ var (
|
|
|
Usage: `"std" or "raw"`,
|
|
Usage: `"std" or "raw"`,
|
|
|
Value: "std",
|
|
Value: "std",
|
|
|
}
|
|
}
|
|
|
|
|
+ VMDebugFlag = cli.BoolFlag{
|
|
|
|
|
+ Name: "vmdebug",
|
|
|
|
|
+ Usage: "Virtual Machine debug output",
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// RPC settings
|
|
// RPC settings
|
|
|
RPCEnabledFlag = cli.BoolFlag{
|
|
RPCEnabledFlag = cli.BoolFlag{
|
|
@@ -198,21 +207,23 @@ func GetNodeKey(ctx *cli.Context) (key *ecdsa.PrivateKey) {
|
|
|
|
|
|
|
|
func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
|
|
func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
|
|
|
return ð.Config{
|
|
return ð.Config{
|
|
|
- Name: common.MakeName(clientID, version),
|
|
|
|
|
- DataDir: ctx.GlobalString(DataDirFlag.Name),
|
|
|
|
|
- LogFile: ctx.GlobalString(LogFileFlag.Name),
|
|
|
|
|
- LogLevel: ctx.GlobalInt(LogLevelFlag.Name),
|
|
|
|
|
- LogFormat: ctx.GlobalString(LogFormatFlag.Name),
|
|
|
|
|
- MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name),
|
|
|
|
|
- AccountManager: GetAccountManager(ctx),
|
|
|
|
|
- VmDebug: ctx.GlobalBool(VMDebugFlag.Name),
|
|
|
|
|
- MaxPeers: ctx.GlobalInt(MaxPeersFlag.Name),
|
|
|
|
|
- Port: ctx.GlobalString(ListenPortFlag.Name),
|
|
|
|
|
- NAT: GetNAT(ctx),
|
|
|
|
|
- NodeKey: GetNodeKey(ctx),
|
|
|
|
|
- Shh: true,
|
|
|
|
|
- Dial: true,
|
|
|
|
|
- BootNodes: ctx.GlobalString(BootnodesFlag.Name),
|
|
|
|
|
|
|
+ Name: common.MakeName(clientID, version),
|
|
|
|
|
+ DataDir: ctx.GlobalString(DataDirFlag.Name),
|
|
|
|
|
+ ProtocolVersion: ctx.GlobalInt(ProtocolVersionFlag.Name),
|
|
|
|
|
+ NetworkId: ctx.GlobalInt(NetworkIdFlag.Name),
|
|
|
|
|
+ LogFile: ctx.GlobalString(LogFileFlag.Name),
|
|
|
|
|
+ LogLevel: ctx.GlobalInt(LogLevelFlag.Name),
|
|
|
|
|
+ LogFormat: ctx.GlobalString(LogFormatFlag.Name),
|
|
|
|
|
+ MinerThreads: ctx.GlobalInt(MinerThreadsFlag.Name),
|
|
|
|
|
+ AccountManager: GetAccountManager(ctx),
|
|
|
|
|
+ VmDebug: ctx.GlobalBool(VMDebugFlag.Name),
|
|
|
|
|
+ MaxPeers: ctx.GlobalInt(MaxPeersFlag.Name),
|
|
|
|
|
+ Port: ctx.GlobalString(ListenPortFlag.Name),
|
|
|
|
|
+ NAT: GetNAT(ctx),
|
|
|
|
|
+ NodeKey: GetNodeKey(ctx),
|
|
|
|
|
+ Shh: true,
|
|
|
|
|
+ Dial: true,
|
|
|
|
|
+ BootNodes: ctx.GlobalString(BootnodesFlag.Name),
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|