OSDN Git Service

golint
[bytom/vapor.git] / config / config.go
index 5c70bf8..e9490f9 100644 (file)
@@ -10,7 +10,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 var (
@@ -28,6 +28,7 @@ type Config struct {
        Web        *WebConfig        `mapstructure:"web"`
        Websocket  *WebsocketConfig  `mapstructure:"ws"`
        Federation *FederationConfig `mapstructure:"federation"`
+       CrossChain *CrossChainConfig `mapstructure:"cross_chain"`
 }
 
 // Default configurable parameters.
@@ -40,6 +41,7 @@ func DefaultConfig() *Config {
                Web:        DefaultWebConfig(),
                Websocket:  DefaultWebsocketConfig(),
                Federation: DefaultFederationConfig(),
+               CrossChain: DefaultCrossChainConfig(),
        }
 }
 
@@ -134,6 +136,7 @@ func DefaultBaseConfig() BaseConfig {
                DBBackend:          "leveldb",
                DBPath:             "data",
                KeysPath:           "keystore",
+               LogFile:            "log",
                PrivateKeyFile:     "node_key.txt",
                FederationFileName: "federation.json",
        }
@@ -143,6 +146,10 @@ func (b BaseConfig) DBDir() string {
        return rootify(b.DBPath, b.RootDir)
 }
 
+func (b BaseConfig) LogDir() string {
+       return rootify(b.LogFile, b.RootDir)
+}
+
 func (b BaseConfig) KeysDir() string {
        return rootify(b.KeysPath, b.RootDir)
 }
@@ -164,20 +171,22 @@ type P2PConfig struct {
        ProxyUsername    string `mapstructure:"proxy_username"`
        ProxyPassword    string `mapstructure:"proxy_password"`
        KeepDial         string `mapstructure:"keep_dial"`
+       Compression      string `mapstructure:"compression_backend"`
 }
 
 // Default configurable p2p parameters.
 func DefaultP2PConfig() *P2PConfig {
        return &P2PConfig{
-               ListenAddress:    "tcp://0.0.0.0:46656",
+               ListenAddress:    "tcp://0.0.0.0:56656",
                SkipUPNP:         false,
                LANDiscover:      true,
-               MaxNumPeers:      50,
+               MaxNumPeers:      20,
                HandshakeTimeout: 30,
                DialTimeout:      3,
                ProxyAddress:     "",
                ProxyUsername:    "",
                ProxyPassword:    "",
+               Compression:      "snappy",
        }
 }
 
@@ -207,6 +216,10 @@ type FederationConfig struct {
        Quorum int            `json:"quorum"`
 }
 
+type CrossChainConfig struct {
+       AssetWhitelist string `mapstructure:"asset_whitelist"`
+}
+
 // Default configurable rpc's auth parameters.
 func DefaultRPCAuthConfig() *RPCAuthConfig {
        return &RPCAuthConfig{
@@ -231,6 +244,7 @@ func DefaultWalletConfig() *WalletConfig {
        }
 }
 
+// Default configurable websocket parameters.
 func DefaultWebsocketConfig() *WebsocketConfig {
        return &WebsocketConfig{
                MaxNumWebsockets:     25,
@@ -238,15 +252,24 @@ func DefaultWebsocketConfig() *WebsocketConfig {
        }
 }
 
+// Default configurable federation parameters.
 func DefaultFederationConfig() *FederationConfig {
        return &FederationConfig{
                Xpubs: []chainkd.XPub{
-                       xpub("50ef22b3a3fca7bc08916187cc9ec2f4005c9c6b1353aa1decbd4be3f3bb0fbe1967589f0d9dec13a388c0412002d2c267bdf3b920864e1ddc50581be5604ce1"),
+                       xpub("580daf48fa8962100047cb1391da890bb7f2c849fdbc9b368cb4394a4c7cbb0977e2e7ebbf055dc0ef90af6a0d2af01ce7ec56b735d016aab597815ec48552e5"),
+                       xpub("f3f6bcf61b65fa9d1566455a5688ca8b395efdc22e654963134b5e5cb0a45d8be522d21abc384a73177a7b9d64eba915fcfe2862d86a508a3c46dc410bdd72ad"),
+                       xpub("53559612f2b7bcada18948b7de39d63947a0e2bd7336d07db1350c54ba5743996b84bf9d18ff7a2457e1a5c70ce5013e4a3b62666ddb03294c53051d5f5c70c0"),
+                       xpub("7c88cc58adfc71818b08308d43c29de22460b0ea6895449cbec6e458d7dc09e0aea243fa5075ee6621da0d805bd047f6bb207329c5bd2ca3253b172fb323b512"),
                },
-               Quorum: 1,
+               Quorum: 2,
        }
 }
 
+// Default configurable crosschain parameters.
+func DefaultCrossChainConfig() *CrossChainConfig {
+       return &CrossChainConfig{}
+}
+
 func xpub(str string) (xpub chainkd.XPub) {
        if err := xpub.UnmarshalText([]byte(str)); err != nil {
                log.Panicf("Fail converts a string to xpub")