github.com/ZuluSpl0it/Sia@v1.3.7/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  	// HostTemplate is a template for a Sia node that has a functioning host.
    20  	// The node has a host and all dependencies, but no other modules.
    21  	HostTemplate = NodeParams{
    22  		CreateConsensusSet:    true,
    23  		CreateExplorer:        false,
    24  		CreateGateway:         true,
    25  		CreateHost:            true,
    26  		CreateMiner:           false,
    27  		CreateRenter:          false,
    28  		CreateTransactionPool: true,
    29  		CreateWallet:          true,
    30  	}
    31  	// RenterTemplate is a template for a Sia node that has a functioning
    32  	// renter. The node has a renter and all dependencies, but no other
    33  	// modules.
    34  	RenterTemplate = NodeParams{
    35  		CreateConsensusSet:    true,
    36  		CreateExplorer:        false,
    37  		CreateGateway:         true,
    38  		CreateHost:            false,
    39  		CreateMiner:           false,
    40  		CreateRenter:          true,
    41  		CreateTransactionPool: true,
    42  		CreateWallet:          true,
    43  	}
    44  	// WalletTemplate is a template for a Sia node that has a functioning
    45  	// wallet. The node has a wallet and all dependencies, but no other
    46  	// modules.
    47  	WalletTemplate = NodeParams{
    48  		CreateConsensusSet:    true,
    49  		CreateExplorer:        false,
    50  		CreateGateway:         true,
    51  		CreateHost:            false,
    52  		CreateMiner:           false,
    53  		CreateRenter:          false,
    54  		CreateTransactionPool: true,
    55  		CreateWallet:          true,
    56  	}
    57  )
    58  
    59  // AllModules returns an AllModulesTemplate filled out with the provided dir.
    60  func AllModules(dir string) NodeParams {
    61  	template := AllModulesTemplate
    62  	template.Dir = dir
    63  	return template
    64  }
    65  
    66  // Host returns a HostTemplate filled out with the provided dir.
    67  func Host(dir string) NodeParams {
    68  	template := HostTemplate
    69  	template.Dir = dir
    70  	return template
    71  }
    72  
    73  // Renter returns a RenterTemplate filled out with the provided dir.
    74  func Renter(dir string) NodeParams {
    75  	template := RenterTemplate
    76  	template.Dir = dir
    77  	return template
    78  }
    79  
    80  // Wallet returns a WalletTemplate filled out with the provided dir.
    81  func Wallet(dir string) NodeParams {
    82  	template := WalletTemplate
    83  	template.Dir = dir
    84  	return template
    85  }