gitlab.com/SiaPrime/SiaPrime@v1.4.1/node/templates.go (about) 1 package node 2 3 // templates.go contains a bunch of sane default templates that you can use to 4 // create Sia nodes. 5 6 var ( 7 // AllModulesTemplate is a template for a Sia node that has all modules 8 // enabled. 9 AllModulesTemplate = NodeParams{ 10 CreateConsensusSet: true, 11 CreateExplorer: false, // TODO: Implement explorer. 12 CreateGateway: true, 13 CreateHost: true, 14 CreateMiner: true, 15 CreateRenter: true, 16 CreateTransactionPool: true, 17 CreateWallet: true, 18 } 19 // GatewayTemplate is a template for a Sia node that has a functioning 20 // Gateway. The node has a Gateway but no other modules. 21 GatewayTemplate = NodeParams{ 22 CreateConsensusSet: false, 23 CreateExplorer: false, 24 CreateGateway: true, 25 CreateHost: false, 26 CreateMiner: false, 27 CreateRenter: false, 28 CreateTransactionPool: false, 29 CreateWallet: false, 30 } 31 // HostTemplate is a template for a Sia node that has a functioning host. 32 // The node has a host and all dependencies, but no other modules. 33 HostTemplate = NodeParams{ 34 CreateConsensusSet: true, 35 CreateExplorer: false, 36 CreateGateway: true, 37 CreateHost: true, 38 CreateMiner: false, 39 CreateRenter: false, 40 CreateTransactionPool: true, 41 CreateWallet: true, 42 } 43 // RenterTemplate is a template for a Sia node that has a functioning 44 // renter. The node has a renter and all dependencies, but no other 45 // modules. 46 RenterTemplate = NodeParams{ 47 CreateConsensusSet: true, 48 CreateExplorer: false, 49 CreateGateway: true, 50 CreateHost: false, 51 CreateMiner: false, 52 CreateRenter: true, 53 CreateTransactionPool: true, 54 CreateWallet: true, 55 } 56 // WalletTemplate is a template for a Sia node that has a functioning 57 // wallet. The node has a wallet and all dependencies, but no other 58 // modules. 59 WalletTemplate = NodeParams{ 60 CreateConsensusSet: true, 61 CreateExplorer: false, 62 CreateGateway: true, 63 CreateHost: false, 64 CreateMiner: false, 65 CreateRenter: false, 66 CreateTransactionPool: true, 67 CreateWallet: true, 68 } 69 ) 70 71 // AllModules returns an AllModulesTemplate filled out with the provided dir. 72 func AllModules(dir string) NodeParams { 73 template := AllModulesTemplate 74 template.Dir = dir 75 return template 76 } 77 78 // Gateway returns a GatewayTemplate filled out with the provided dir. 79 func Gateway(dir string) NodeParams { 80 template := GatewayTemplate 81 template.Dir = dir 82 return template 83 } 84 85 // Host returns a HostTemplate filled out with the provided dir. 86 func Host(dir string) NodeParams { 87 template := HostTemplate 88 template.Dir = dir 89 return template 90 } 91 92 // Renter returns a RenterTemplate filled out with the provided dir. 93 func Renter(dir string) NodeParams { 94 template := RenterTemplate 95 template.Dir = dir 96 return template 97 } 98 99 // Wallet returns a WalletTemplate filled out with the provided dir. 100 func Wallet(dir string) NodeParams { 101 template := WalletTemplate 102 template.Dir = dir 103 return template 104 }