###############################################################################################
# Configuration file, for automatically running multiple instances
###############################################################################################
swirld, 123

# app,		GameDemo.jar,		   9000, 9000
# app,		HelloSwirldDemo.jar
# app,		CryptocurrencyDemo.jar
# app,		StatsDemo.jar,		   1, 3000, 0, 100, 2048, 10_000
# app,		FilesystemDemo.jar
app,		HederaNode.jar

# ** BEGIN REMOVE FROM SDK RELEASES **
# app,      HelloFileSystemDemo.jar, 2, 128, 512, 5, 20, 5000, 2250, 0
# app,		FCStressTestDemo.jar,  1, 3000, 0, 100, 2048, 3
# app,		StatsSigningDemo.jar,  1, 3000, 0, 100, -1, 15000, 5000
# app,		StatsRandomDemo.jar,  0, 3000, 0, 100, -1, 250000, 5000, 1, 100, 1024
# app,		StatsSeqDemo.jar,	   1, 3000, 1000, 100, 16, -1
# app,		FCMapStatsDemo.jar,	 signed, syncDelay, transPerEventMax, transPerSecToCreate
# app,		FCMapStatsDemo.jar,		 0,      0,         -1,               250
# app,		DatabaseDemo.jar
# app, 		PlatformTestingDemo.jar, FCM1KFreeze.json
# ** END REMOVE FROM SDK RELEASES **

 address,  0, A, Alice,    1, 127.0.0.1, 50204, 127.0.0.1, 50204, 0.0.3
# address,  B, Bob,      1, 127.0.0.1, 50205, 127.0.0.1, 50205, 0.0.4

# address,  C, Carol,    1, 127.0.0.1, 50206, 127.0.0.1, 50206, 0.0.5
# address,  D, Dave,     1, 127.0.0.1, 50207, 127.0.0.1, 50207, 0.0.6

# the following are examples of what real IP addresses might look like
# address,  E, Eric,     1, 10.0.1.52, 50204, 10.0.1.52, 50204
# address,  F, Fred,     1, 10.0.1.52, 50205, 10.0.1.52, 50205
# address,  G, Gina,     1, 10.0.1.52, 50206, 10.0.1.52, 50206
# address,  H, Hank,     1, 10.0.1.52, 50207, 10.0.1.52, 50207
# address,  I, Iris,     1, 192.168.1.10, 50208, 192.168.1.10, 50208
# address,  J, Judy,     1, 192.168.2.10, 50209, 192.168.2.10, 50209
# address,  K, Kent,     1, 10.0.0.10, 50210, 10.0.0.10, 50210
# address,  L, Lucy,     1, 10.0.1.37, 50211, 10.0.1.37, 50211

# The above addresses assume all are running on the same computer.
# If multiple computers are being used, then the listed IP addresses should be changed.

# maxSyncs, 1
# transactionMaxBytes, 1024
# ipTos, 123

###############################################################################################
# The first line can be “swirld, “ and then a name for this swirld (shared world / ledger),
# where the name is any string without commas, line breaks, or leading/trailing whitespace.
#
# The optional "TLS" line can be set to on or off to choose whether to use TLS encryption.
#
# The optional "maxSyncs" line controls the maximum number of gossip syncs at the same time
# initiated by a member.
#
# The optional "transactionMaxBytes" line sets a limit on transactions size. Any transaction
# will be rejected if it's too big.
#
# The optional "ipTos" parameter sets the Type of Service (IP_ToS) byte in each of the
# TCP/IP packets (0 to 255). The internet usually ignores this byte.
#
# Uncomment exactly one of the app name lines, above.
# That line should have the the word "app", then the  jar filename,
# then any parameters, separated by commas.
#
#	HelloSwirldDemo.jar parameters: none
#
#	CryptocurrencyDemo.jar parameters: none
#
#	FilesystemDemo.jar parameters: none
#
#	GameDemo.jar parameters:
#		height:           height of the board (in cells). Player moves 1 cell at a time.
#		width:            width of the board (in cells). Player moves 1 cell at a time.
#
#	StatsDemo.jar parameters:
#		headless:         1 to run in a headless mode with no windows.
#				  0 to see a window with the results.
#		writePeriod:      how often to write stats to the file, in milliseconds.
#		syncDelay:        how long to pause after initiating a sync, in milliseconds.
#		bytesPerTrans:    how many bytes make up each transaction.
#               transPerEventMax: max number of transactions to put in each event
#                                 or -1 for infinite (no limit).
#		transPerSec:      desired transaction per second (total created by all members)
#                                 or -1 for infinite (no limit).
#                                 This and transPerEventMax must not both be -1.
#
# After the app name line comes all the address book lines,
# which give the addresses of all members, which is used by the simulation.
# If the sim is run from a .jar file, put this file in the same directory as the jar.
# If the sim is run in eclipse, put this file in the  sdk/  directory.
#
# Then list one member per line. For each member, list these, separated by commas
# (after the word "address" at the start):
#         node id             - a nonnegative integer that uniquely identifies a node
#                               (From top to bottom, the ids must be in ascending order but can skip numbers.)
#         nickname            - a short version of the member's name
#         full name           - the member's name
#         weight              - a nonnegative integer that weights the consensus voting
#                               (normally all are 1, can be others, but can't all be 0)
#         internal IP address - four numbers, each in the range 0-255, separated by dots
#                               (Only use 127.0.0.1 if ALL the members are on the same machine)
#         internal port       - in range 50000-65535
#         external IP address - four numbers, each in the range 0-255, separated by dots
#                               (Only use 127.0.0.1 if ALL the members are on the same machine)
#         external port       - in range 50000-65535
#
#         stream IP address   - (optioanl) four numbers, each in the range 0-255, separated by dots
#                               (Only use 127.0.0.1 if ALL the members are on the same machine)
#         stream port         - (optioanl) in range 50000-65535
#
#
# Each member should be listed only once, on a single line. If all the members are on the same
# computer, then they can each be given that computers's IP address, or they can each be given
# 127.0.0.1, or some can be given the computer's IP address and some 127.0.0.1.
#
# If the members are running on 2 or more machines, then they must all be given the
# actual IP address. The actual IP address will be something like 10.0.1.52 or
# 192.168.2.10, but never the address 127.0.0.1. Two members on the same machine will have the
# same address.
#
# No two members should have the same full name or the same nickname, even when ignoring
# case (so alice and ALICE and aLiCe count as the same, and nicknames a and A are the same).
#
# The “internal” (or local or private) address is how the member computer is reached by
# other computers on the same local network, with no Network Address Translation (NAT) in
# between.
#
# The “external” (or public) address is how it is reached by outside computers. It will
# often be the address of the router that does the NAT.
#
# If you don’t know an external address for a computer, then just assume that the external
# address is the same as the internal address. This will work if there is no router, or if
# there is a router that isn’t doing NAT, or if it is doing NAT but all the computers are
# on the same local network.
#
# The ports can be chosen to be any number in the given range, as long as members on the
# same computer are always given different ports.
#
# Lines starting with # are comments.
# Blank lines are ignored.
# Whitespace is ignored (except line breaks).
# None of the strings, such as nicknames and names, can contain any commas or # symbols
# or quotation marks.
# Boolean parameters can be any of on/1/true/yes/t/y for true,
# and any of off/0/false/no/f/n for false, where capitalization doesn’t matter.
#
# The `nextNodeId` field must be a higher integer than all node ids of uncommented addresses.
# When adding new addresses and starting from a saved state, the new addresses must have
# node ids greater than or equal to the nextNodeId value of the address book in the saved state.
###############################################################################################
