#
# Sample rippled.cfg
#
# This file contains configuration information for rippled.
#
# Rippled when launched attempts to find this file.  For details, refer to the
# wiki page for --conf command line option:
#   https://ripple.com/wiki/Rippled#--conf.3Dpath
#
# This file should be named rippled.cfg.  This file is UTF-8 with Dos, UNIX, or
# Mac style end of lines.  Blank lines and lines beginning with '#' are
# ignored.  Undefined sections are reserved.  No escapes are currently defined.
#
# [debug_logfile]
#   Specifies were a debug logfile is kept. By default, no debug log is kept.
#   Unless absolute, the path is relative the directory containing this file.
#
#   Example: debug.log
#
# [validators]
#   List of nodes to always accept as validators. Nodes are specified by domain
#   or public key.
#
#   For domains, rippled will probe for https web servers at the specified
#   domain in the following order: ripple.DOMAIN, www.DOMAIN, DOMAIN
#
#   For public key entries, a comment may optionally be spcified after adding a
#   space to the pulic key.
#
#   Examples:
#    ripple.com
#    n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5
#    n9MqiExBcoG19UXwoLjBJnhsxEhAZMuWwJDRdkyDz1EkEkwzQTNt John Doe
#
# [validators_file]
#   Path to file contain a list of nodes to always accept as validators. Use
#   this to specify a file other than this file to manage your validators list.
#
#   If this entry is not present or empty and no nodes from previous runs were
#   found in the database, rippled will look for a validators.txt in the config
#   directory.  If not found there, it will attempt to retrieve the file from
#   the [validators_site] web site.
#
#   After specifying a different [validators_file] or changing the contents of
#   the validators file, issue a RPC unl_load command to have rippled load the
#   file.
#
#   Specify the file by specifying its full path.
#
#   Examples:
#    C:/home/johndoe/ripple/validators.txt
#    /home/johndoe/ripple/validators.txt
#
# [validators_site]
#   Specifies where to find validators.txt for UNL boostrapping and RPC
#   unl_network command.
#
#   Example: ripple.com
#
# [ips]
#   List of ips where the Ripple protocol is served.  For a starter list, you
#   can copy entries from: https://ripple.com/ripple.txt
#
#   Domain names are not allowed. One ipv4 or ipv6 address per line.  A port
#   may optionally be specified after adding a space to the address.  By
#   convention, if known, IPs are listed in from most to least trusted.
#
#   Examples:
#    192.168.0.1
#    192.168.0.1 3939
#    2001:0db8:0100:f101:0210:a4ff:fee3:9566
#
# [sntp_servers]
#   IP address or domain of NTP servers to use for time synchronization.
#
#   These NTP servers are suitable for rippled servers located in the United
#   States:
#      time.windows.com
#      time.apple.com
#      time.nist.gov
#      pool.ntp.org
#
# [peer_ip]
#   IP address or domain to bind to allow external connections from peers.
#   Defaults to not binding, which disallows external connections from peers.
#
#   Examples: 0.0.0.0 - Bind on all interfaces.
#
# [peer_port]
#   If peer_ip is supplied, corresponding port to bind to for peer connections.
#
# [peer_private]
#   0 or 1.
#   0: request peers to broadcast your address. [default]
#   1: request peers not broadcast your address.
#
# [rpc_ip]
#   IP address or domain to bind to allow insecure RPC connections.
#   Defaults to not binding, which disallows RPC connections.
#
# [rpc_port]
#   If rpc_ip is supplied, corresponding port to bind to for peer connections.
#
# [rpc_allow_remote]
#   0 or 1.
#   0: Allow RPC connections only from 127.0.0.1. [default]
#   1: Allow RPC connections from any IP.
#
# [rpc_admin_allow]
#   Specify an list of IP addresses allowed to have admin access. One per line.
#   If you want to test the output of non-admin commands add this section and
#   just put an ip address not under your control.
#
#   Defaults to 127.0.0.1.
#
# [rpc_user]
#   As a server, require a this user to specified and require rpc_password to
#   be checked for RPC access via the rpc_ip and rpc_port. The user and password
#   must be specified via HTTP's basic authentication method.
#
#   As a client, supply this to the server via HTTP's basic authentication
#   method.
#
# [rpc_password]
#   As a server, require a this password to specified and require rpc_user to
#   be checked for RPC access via the rpc_ip and rpc_port. The user and password
#   must be specified via HTTP's basic authentication method.
#
#   As a client, supply this to the server via HTTP's basic authentication
#   method.
#
# [rpc_admin_user]
#   As a server, require this as the admin user to be specified.  Also, require
#   rpc_admin_user and rpc_admin_password to be checked for RPC admin functions.
#   The request must specify these as the admin_user and admin_password in the
#   request object.
#
#   As a client, supply this to the server in the request object.
#
# [rpc_admin_password]
#   As a server, require this as the admin pasword to be specified.  Also,
#   require rpc_admin_user and rpc_admin_password to be checked for RPC admin
#   functions.  The request must specify these as the admin_user and
#   admin_password in the request object.
#
#   As a client, supply this to the server in the request object.
#
# [validation_quorum]
#   Sets the minimum number of trusted validations a ledger must have before
#   the server considers it fully validated. Note that if you are validating,
#   your validation counts.
#
# [websocket_public_ip]
#   IP address or domain to bind to allow untrusted connections from clients.
#   In the future, this option will go away and the peer_ip will accept
#   websocket client connections.
#
#   Examples: 0.0.0.0 - Bind on all interfaces.
#             127.0.0.1 - Bind on localhost interface.  Only local programs may connect.
#
# [websocket_public_port]
#   Port to bind to allow untrusted connections from clients.  In the future,
#   this option will go away and the peer_ip will accept websocket client
#   connections.
#
# [websocket_public_secure]
#   0, 1 or 2.
#   0: Provide ws service for websocket_public_ip/websocket_public_port.
#   1: Provide both ws and wss service for websocket_public_ip/websocket_public_port. [default]
#   2: Provide wss service only for websocket_public_ip/websocket_public_port.
#
#   Browser pages like the Ripple client will not be able to connect to a secure
#   websocket connection if a self-signed certificate is used.  As the Ripple
#   reference client currently shares secrets with its server, this should be
#   enabled.
#
# [websocket_ip]
#   IP address or domain to bind to allow trusted ADMIN connections from backend
#   applications.
#
#   Examples: 0.0.0.0 - Bind on all interfaces.
#             127.0.0.1 - Bind on localhost interface.  Only local programs may connect.
#
# [websocket_port]
#   Port to bind to allow trusted ADMIN connections from backend applications.
#
# [websocket_secure]
#   0, 1, or 2.
#   0: Provide ws service only for websocket_ip/websocket_port. [default]
#   1: Provide ws and wss service for websocket_ip/websocket_port
#   2: Provide wss service for websocket_ip/websocket_port.
#
# [websocket_ssl_key]
#   Specify the filename holding the SSL key in PEM format.
#
# [websocket_ssl_cert]
#   Specify the path to the SSL certificate file in PEM format.
#   This is not needed if the chain includes it.
#
# [websocket_ssl_chain]
#   If you need a certificate chain, specify the path to the certificate chain
#   here.  The chain may include the end certificate.
#
# [ssl_verify_file]
# [ssl_verify_dir]
#   Specify the path to a file or directory containing the root certificates
#   that the server will accept for verifying HTTP servers. Used only for
#   outbound HTTPS client connections.
#
# [validation_seed]
#   To perform validation, this section should contain either a validation seed
#   or key.  The validation seed is used to generate the validation
#   public/private key pair.  To obtain a validation seed, use the
#   validation_create command.
#
#   Examples:  RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE
#              shfArahZT9Q9ckTf3s1psJ7C7qzVN
#
# [node_seed]
#   This is used for clustering. To force a particular node seed or key, the
#   key can be set here.  The format is the same as the validation_seed field.
#   To obtain a validation seed, use the validation_create command.
#
#   Examples:  RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE
#              shfArahZT9Q9ckTf3s1psJ7C7qzVN
#
#
#-------------------------------------------------------------------------------
#
#   Database Configuration Settings
#
#   rippled creates 4 SQLite database to hold bookkeeping information
#   about transactions, local credentials, and various other things.
#   It also creates the NodeDB, which holds all the objects that
#   make up the current and historical ledgers. The size of the NodeDB
#   grows in proportion to the amount of new data and the amount of
#   historical data (a configurable setting).
#
#   The performance of the underlying storage media where the NodeDB
#   is placed can affect the performance of the server. Some virtual
#   hosting providers offer high speed secondary storage, with the
#   caveat that the data is not persisted across launches. If rippled
#   runs in such an environment, it can be beneficial to configure the
#   temp_db setting, which activates a secondary "look-aside" cache
#   that can speed up the server. Some testing is suggested to determine
#   if the temp_db setting is an improvement for your environment
#
#   Partial pathnames will be considered relative to the location of
#   the rippled.cfg file.
#
#   [node_db]       Settings for the NodeDB (required)
#   [temp_db]       Settings for the look-aside temporary db (optional)
#   [import_db]     Settings for performing a one-time import (optional)
#
#   Format (without spaces):
#       One or more lines of key / value pairs:
#       <key> '=' <value>
#       ...
#
#   Examples:
#       type=HyperLevelDB
#       path=db/hyperldb
#
#   Choices for 'type' (not case-sensitive)
#       HyperLevelDB        Use an improved version of LevelDB (preferred)
#       LevelDB             Use Google's LevelDB database (deprecated)
#       MDB                 Use MDB
#       none                Use no backend
#       KeyvaDB             Use OpenCoin's KeyvaDB (experimental)
#       SQLite              Use SQLite
#
#   Required keys:
#       path                Location to store the database (all types)
#
#   Optional keys:
#       (none yet)
#
#   Notes:
#       The 'node_db' entry configures the primary, persistent storage.
#
#       The 'temp_db' configures a look-aside cache for high volume storage
#           which doesn't necessarily persist between server launches. This
#           is an optional configuration parameter. If it is left out then
#           no look-aside database is created or used.
#
#       The 'import_db' is used with the '--import' command line option to
#           migrate the specified database into the current database given
#           in the [node_db] section.
#
#   [database_path]   Path to the book-keeping databases.
#
#   There are 4 book-keeping SQLite database that the server creates and
#   maintains. If you omit this configuration setting, it will default to
#   creating a directory called "db" located in the same place as your
#   rippled.cfg file.
#
#-------------------------------------------------------------------------------
#
# [node_size]
#   Tunes the servers based on the expected load and available memory. Legal
#   sizes are "tiny", "small", "medium", "large", and "huge". We recommend
#   you start at the default and raise the setting if you have extra memory.
#   The default is "tiny".
#
# [cluster_nodes]
#   To extend full trust to other nodes, place their node public keys here.
#   Generally, you should only do this for nodes under common administration.
#   Node public keys start with an 'n'. To give a node a name for identification
#   place a space after the public key and then the name.
#
# [ledger_history]
#   The number of past ledgers to acquire on server startup and the minimum to
#   maintain while running.
#
#   To serve clients, servers need historical ledger data. Servers that don't
#   need to serve clients can set this to "none".  Servers that want complete
#   history can set this to "full".
#
#   The default is: 256
#
# [path_search_size]
#   When searching for paths, the maximum number of nodes allowed. This can take
#   exponentially more resources as the size is increased.
#
#   The default is: 4
#
# [rpc_startup]
#   Specify a list of RPC commands to run at startup.
#
#   Examples:
#     { "command" : "server_info" }
#     { "command" : "log_level", "partition" : "ripplecalc", "severity" : "trace" }
#

# Allow other peers to connect to this server.
[peer_ip]
0.0.0.0

[peer_port]
51235

# Allow untrusted clients to connect to this server.
[websocket_public_ip]
0.0.0.0

[websocket_public_port]
5006

# Provide trusted websocket ADMIN access.
[websocket_ip]
127.0.0.1

[websocket_port]
6006

# Provide trusted json-rpc ADMIN access.
[rpc_ip]
127.0.0.1

[rpc_port]
5005

[rpc_allow_remote]
0

[node_size]
medium

#[node_db]
#type=HyperLevelDB
#path=db/hyperldb

[debug_logfile]
log/debug.log

[sntp_servers]
time.windows.com
time.apple.com
time.nist.gov
pool.ntp.org

# Where to find some other servers speaking the Ripple protocol.
[ips]
23.21.167.100	51235
23.23.201.55	51235
107.21.116.214	51235
