github.com/Bytom/bytom@v1.1.2-0.20210127130405-ae40204c0b09/config/toml.go (about) 1 package config 2 3 import ( 4 "path" 5 6 cmn "github.com/tendermint/tmlibs/common" 7 ) 8 9 /****** these are for production settings ***********/ 10 func EnsureRoot(rootDir string, network string) { 11 cmn.EnsureDir(rootDir, 0700) 12 cmn.EnsureDir(rootDir+"/data", 0700) 13 14 configFilePath := path.Join(rootDir, "config.toml") 15 16 // Write default config file if missing. 17 if !cmn.FileExists(configFilePath) { 18 cmn.MustWriteFile(configFilePath, []byte(selectNetwork(network)), 0644) 19 } 20 } 21 22 var defaultConfigTmpl = `# This is a TOML config file. 23 # For more information, see https://github.com/toml-lang/toml 24 fast_sync = true 25 db_backend = "leveldb" 26 api_addr = "0.0.0.0:9888" 27 node_alias = "" 28 ` 29 30 var mainNetConfigTmpl = `chain_id = "mainnet" 31 [p2p] 32 laddr = "tcp://0.0.0.0:46657" 33 seeds = "45.79.213.28:46657,198.74.61.131:46657,212.111.41.245:46657,47.100.214.154:46657,47.100.109.199:46657,47.100.105.165:46657" 34 ` 35 36 var testNetConfigTmpl = `chain_id = "wisdom" 37 [p2p] 38 laddr = "tcp://0.0.0.0:46656" 39 seeds = "52.83.107.224:46656,52.83.251.197:46656" 40 ` 41 42 var soloNetConfigTmpl = `chain_id = "solonet" 43 [p2p] 44 laddr = "tcp://0.0.0.0:46658" 45 seeds = "" 46 ` 47 48 // Select network seeds to merge a new string. 49 func selectNetwork(network string) string { 50 switch network { 51 case "mainnet": 52 return defaultConfigTmpl + mainNetConfigTmpl 53 case "testnet": 54 return defaultConfigTmpl + testNetConfigTmpl 55 default: 56 return defaultConfigTmpl + soloNetConfigTmpl 57 } 58 }