aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/swarm/flags.go
blob: 0dedca674bc0904ccbb5e3335db8ac4c6f23e7cd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
// Copyright 2018 The go-ethereum Authors
// This file is part of go-ethereum.
//
// go-ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// go-ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.

// Command feed allows the user to create and update signed Swarm feeds
package main

import cli "gopkg.in/urfave/cli.v1"

var (
    ChequebookAddrFlag = cli.StringFlag{
        Name:   "chequebook",
        Usage:  "chequebook contract address",
        EnvVar: SWARM_ENV_CHEQUEBOOK_ADDR,
    }
    SwarmAccountFlag = cli.StringFlag{
        Name:   "bzzaccount",
        Usage:  "Swarm account key file",
        EnvVar: SWARM_ENV_ACCOUNT,
    }
    SwarmListenAddrFlag = cli.StringFlag{
        Name:   "httpaddr",
        Usage:  "Swarm HTTP API listening interface",
        EnvVar: SWARM_ENV_LISTEN_ADDR,
    }
    SwarmPortFlag = cli.StringFlag{
        Name:   "bzzport",
        Usage:  "Swarm local http api port",
        EnvVar: SWARM_ENV_PORT,
    }
    SwarmNetworkIdFlag = cli.IntFlag{
        Name:   "bzznetworkid",
        Usage:  "Network identifier (integer, default 3=swarm testnet)",
        EnvVar: SWARM_ENV_NETWORK_ID,
    }
    SwarmSwapEnabledFlag = cli.BoolFlag{
        Name:   "swap",
        Usage:  "Swarm SWAP enabled (default false)",
        EnvVar: SWARM_ENV_SWAP_ENABLE,
    }
    SwarmSwapAPIFlag = cli.StringFlag{
        Name:   "swap-api",
        Usage:  "URL of the Ethereum API provider to use to settle SWAP payments",
        EnvVar: SWARM_ENV_SWAP_API,
    }
    SwarmSyncDisabledFlag = cli.BoolTFlag{
        Name:   "nosync",
        Usage:  "Disable swarm syncing",
        EnvVar: SWARM_ENV_SYNC_DISABLE,
    }
    SwarmSyncUpdateDelay = cli.DurationFlag{
        Name:   "sync-update-delay",
        Usage:  "Duration for sync subscriptions update after no new peers are added (default 15s)",
        EnvVar: SWARM_ENV_SYNC_UPDATE_DELAY,
    }
    SwarmMaxStreamPeerServersFlag = cli.IntFlag{
        Name:   "max-stream-peer-servers",
        Usage:  "Limit of Stream peer servers, 0 denotes unlimited",
        EnvVar: SWARM_ENV_MAX_STREAM_PEER_SERVERS,
        Value:  10000, // A very large default value is possible as stream servers have very small memory footprint
    }
    SwarmLightNodeEnabled = cli.BoolFlag{
        Name:   "lightnode",
        Usage:  "Enable Swarm LightNode (default false)",
        EnvVar: SWARM_ENV_LIGHT_NODE_ENABLE,
    }
    SwarmDeliverySkipCheckFlag = cli.BoolFlag{
        Name:   "delivery-skip-check",
        Usage:  "Skip chunk delivery check (default false)",
        EnvVar: SWARM_ENV_DELIVERY_SKIP_CHECK,
    }
    EnsAPIFlag = cli.StringSliceFlag{
        Name:   "ens-api",
        Usage:  "ENS API endpoint for a TLD and with contract address, can be repeated, format [tld:][contract-addr@]url",
        EnvVar: SWARM_ENV_ENS_API,
    }
    SwarmApiFlag = cli.StringFlag{
        Name:  "bzzapi",
        Usage: "Specifies the Swarm HTTP endpoint to connect to",
        Value: "http://127.0.0.1:8500",
    }
    SwarmRecursiveFlag = cli.BoolFlag{
        Name:  "recursive",
        Usage: "Upload directories recursively",
    }
    SwarmWantManifestFlag = cli.BoolTFlag{
        Name:  "manifest",
        Usage: "Automatic manifest upload (default true)",
    }
    SwarmUploadDefaultPath = cli.StringFlag{
        Name:  "defaultpath",
        Usage: "path to file served for empty url path (none)",
    }
    SwarmAccessGrantKeyFlag = cli.StringFlag{
        Name:  "grant-key",
        Usage: "grants a given public key access to an ACT",
    }
    SwarmAccessGrantKeysFlag = cli.StringFlag{
        Name:  "grant-keys",
        Usage: "grants a given list of public keys in the following file (separated by line breaks) access to an ACT",
    }
    SwarmUpFromStdinFlag = cli.BoolFlag{
        Name:  "stdin",
        Usage: "reads data to be uploaded from stdin",
    }
    SwarmUploadMimeType = cli.StringFlag{
        Name:  "mime",
        Usage: "Manually specify MIME type",
    }
    SwarmEncryptedFlag = cli.BoolFlag{
        Name:  "encrypt",
        Usage: "use encrypted upload",
    }
    SwarmAccessPasswordFlag = cli.StringFlag{
        Name:   "password",
        Usage:  "Password",
        EnvVar: SWARM_ACCESS_PASSWORD,
    }
    SwarmDryRunFlag = cli.BoolFlag{
        Name:  "dry-run",
        Usage: "dry-run",
    }
    CorsStringFlag = cli.StringFlag{
        Name:   "corsdomain",
        Usage:  "Domain on which to send Access-Control-Allow-Origin header (multiple domains can be supplied separated by a ',')",
        EnvVar: SWARM_ENV_CORS,
    }
    SwarmStorePath = cli.StringFlag{
        Name:   "store.path",
        Usage:  "Path to leveldb chunk DB (default <$GETH_ENV_DIR>/swarm/bzz-<$BZZ_KEY>/chunks)",
        EnvVar: SWARM_ENV_STORE_PATH,
    }
    SwarmStoreCapacity = cli.Uint64Flag{
        Name:   "store.size",
        Usage:  "Number of chunks (5M is roughly 20-25GB) (default 5000000)",
        EnvVar: SWARM_ENV_STORE_CAPACITY,
    }
    SwarmStoreCacheCapacity = cli.UintFlag{
        Name:   "store.cache.size",
        Usage:  "Number of recent chunks cached in memory (default 5000)",
        EnvVar: SWARM_ENV_STORE_CACHE_CAPACITY,
    }
    SwarmCompressedFlag = cli.BoolFlag{
        Name:  "compressed",
        Usage: "Prints encryption keys in compressed form",
    }
    SwarmFeedNameFlag = cli.StringFlag{
        Name:  "name",
        Usage: "User-defined name for the new feed, limited to 32 characters. If combined with topic, it will refer to a subtopic with this name",
    }
    SwarmFeedTopicFlag = cli.StringFlag{
        Name:  "topic",
        Usage: "User-defined topic this feed is tracking, hex encoded. Limited to 64 hexadecimal characters",
    }
    SwarmFeedDataOnCreateFlag = cli.StringFlag{
        Name:  "data",
        Usage: "Initializes the feed with the given hex-encoded data. Data must be prefixed by 0x",
    }
    SwarmFeedManifestFlag = cli.StringFlag{
        Name:  "manifest",
        Usage: "Refers to the feed through a manifest",
    }
    SwarmFeedUserFlag = cli.StringFlag{
        Name:  "user",
        Usage: "Indicates the user who updates the feed",
    }
)