Compare commits
5 commits
master
...
bug/94-doc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44dec0f157 | ||
|
|
9b04f8922a | ||
|
|
faddc78760 | ||
|
|
96e2d1718a | ||
|
|
49d28e3ac2 |
4 changed files with 244 additions and 15 deletions
16
Dockerfile
16
Dockerfile
|
|
@ -1,4 +1,4 @@
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:20.10
|
||||||
MAINTAINER PeerPlays Blockchain Standards Association
|
MAINTAINER PeerPlays Blockchain Standards Association
|
||||||
|
|
||||||
ENV LANG en_US.UTF-8
|
ENV LANG en_US.UTF-8
|
||||||
|
|
@ -28,6 +28,8 @@ RUN \
|
||||||
ntp \
|
ntp \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
wget \
|
wget \
|
||||||
|
iputils-ping \
|
||||||
|
telnet \
|
||||||
&& \
|
&& \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
@ -43,7 +45,7 @@ RUN \
|
||||||
tar -zxvf boost_1_67_0.tar.gz && \
|
tar -zxvf boost_1_67_0.tar.gz && \
|
||||||
cd boost_1_67_0/ && \
|
cd boost_1_67_0/ && \
|
||||||
./bootstrap.sh "--prefix=$BOOST_ROOT" && \
|
./bootstrap.sh "--prefix=$BOOST_ROOT" && \
|
||||||
./b2 install && \
|
./b2 -j$(nproc) install && \
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
ADD . /peerplays-core
|
ADD . /peerplays-core
|
||||||
|
|
@ -61,7 +63,7 @@ RUN \
|
||||||
-DBOOST_ROOT="$BOOST_ROOT" \
|
-DBOOST_ROOT="$BOOST_ROOT" \
|
||||||
-DCMAKE_BUILD_TYPE=Debug \
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
../.. && \
|
../.. && \
|
||||||
make witness_node cli_wallet && \
|
make -j$(nproc) witness_node cli_wallet && \
|
||||||
install -s programs/witness_node/witness_node programs/cli_wallet/cli_wallet /usr/local/bin && \
|
install -s programs/witness_node/witness_node programs/cli_wallet/cli_wallet /usr/local/bin && \
|
||||||
#
|
#
|
||||||
# Obtain version
|
# Obtain version
|
||||||
|
|
@ -82,10 +84,16 @@ VOLUME ["/var/lib/peerplays", "/etc/peerplays"]
|
||||||
# rpc service:
|
# rpc service:
|
||||||
EXPOSE 8090
|
EXPOSE 8090
|
||||||
# p2p service:
|
# p2p service:
|
||||||
EXPOSE 1776
|
EXPOSE 9777
|
||||||
|
EXPOSE 19777
|
||||||
|
EXPOSE 29777
|
||||||
|
EXPOSE 39777
|
||||||
|
EXPOSE 49777
|
||||||
|
EXPOSE 59777
|
||||||
|
|
||||||
# default exec/config files
|
# default exec/config files
|
||||||
ADD docker/default_config.ini /etc/peerplays/config.ini
|
ADD docker/default_config.ini /etc/peerplays/config.ini
|
||||||
|
ADD docker/logging.ini /etc/peerplays/logging.ini
|
||||||
ADD docker/peerplaysentry.sh /usr/local/bin/peerplaysentry.sh
|
ADD docker/peerplaysentry.sh /usr/local/bin/peerplaysentry.sh
|
||||||
RUN chmod a+x /usr/local/bin/peerplaysentry.sh
|
RUN chmod a+x /usr/local/bin/peerplaysentry.sh
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
# Endpoint for P2P node to listen on
|
# Endpoint for P2P node to listen on
|
||||||
p2p-endpoint = 0.0.0.0:9090
|
p2p-endpoint = 0.0.0.0:9777
|
||||||
|
|
||||||
# P2P nodes to connect to on startup (may specify multiple times)
|
# P2P nodes to connect to on startup (may specify multiple times)
|
||||||
# seed-node =
|
# seed-node =
|
||||||
|
|
||||||
# JSON array of P2P nodes to connect to on startup
|
# JSON array of P2P nodes to connect to on startup
|
||||||
# seed-nodes =
|
seed-nodes = []
|
||||||
|
|
||||||
# Pairs of [BLOCK_NUM,BLOCK_ID] that should be enforced as checkpoints.
|
# Pairs of [BLOCK_NUM,BLOCK_ID] that should be enforced as checkpoints.
|
||||||
# checkpoint =
|
# checkpoint =
|
||||||
|
|
||||||
# Endpoint for websocket RPC to listen on
|
# Endpoint for websocket RPC to listen on
|
||||||
rpc-endpoint = 0.0.0.0:8090
|
rpc-endpoint = 127.0.0.1:8090
|
||||||
|
|
||||||
# Endpoint for TLS websocket RPC to listen on
|
# Endpoint for TLS websocket RPC to listen on
|
||||||
# rpc-tls-endpoint =
|
# rpc-tls-endpoint =
|
||||||
|
|
@ -31,6 +31,17 @@ rpc-endpoint = 0.0.0.0:8090
|
||||||
# JSON file specifying API permissions
|
# JSON file specifying API permissions
|
||||||
# api-access =
|
# api-access =
|
||||||
|
|
||||||
|
# Whether to enable tracking of votes of standby witnesses and committee members. Set it to true to provide accurate data to API clients, set to false for slightly better performance.
|
||||||
|
# enable-standby-votes-tracking =
|
||||||
|
|
||||||
|
# Space-separated list of plugins to activate
|
||||||
|
# plugins =
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# witness plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
# Enable block production, even if the chain is stale.
|
# Enable block production, even if the chain is stale.
|
||||||
enable-stale-production = false
|
enable-stale-production = false
|
||||||
|
|
||||||
|
|
@ -40,22 +51,183 @@ required-participation = false
|
||||||
# ID of witness controlled by this node (e.g. "1.6.5", quotes are required, may specify multiple times)
|
# ID of witness controlled by this node (e.g. "1.6.5", quotes are required, may specify multiple times)
|
||||||
# witness-id =
|
# witness-id =
|
||||||
|
|
||||||
|
# IDs of multiple witnesses controlled by this node (e.g. ["1.6.5", "1.6.6"], quotes are required)
|
||||||
|
# witness-ids =
|
||||||
|
|
||||||
# Tuple of [PublicKey, WIF private key] (may specify multiple times)
|
# Tuple of [PublicKey, WIF private key] (may specify multiple times)
|
||||||
# private-key = ["BTS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]
|
private-key = ["PPY6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# debug_witness plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Tuple of [PublicKey, WIF private key] (may specify multiple times)
|
||||||
|
debug-private-key = ["PPY6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# account_history plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
# Account ID to track history for (may specify multiple times)
|
# Account ID to track history for (may specify multiple times)
|
||||||
# track-account =
|
# track-account =
|
||||||
|
|
||||||
|
# Keep only those operations in memory that are related to account history tracking
|
||||||
|
partial-operations = 1
|
||||||
|
|
||||||
|
# Maximum number of operations per account will be kept in memory
|
||||||
|
max-ops-per-account = 100
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# elasticsearch plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Elastic Search database node url(http://localhost:9200/)
|
||||||
|
# elasticsearch-node-url =
|
||||||
|
|
||||||
|
# Number of bulk documents to index on replay(10000)
|
||||||
|
# elasticsearch-bulk-replay =
|
||||||
|
|
||||||
|
# Number of bulk documents to index on a syncronied chain(100)
|
||||||
|
# elasticsearch-bulk-sync =
|
||||||
|
|
||||||
|
# Use visitor to index additional data(slows down the replay(false))
|
||||||
|
# elasticsearch-visitor =
|
||||||
|
|
||||||
|
# Pass basic auth to elasticsearch database('')
|
||||||
|
# elasticsearch-basic-auth =
|
||||||
|
|
||||||
|
# Add a prefix to the index(peerplays-)
|
||||||
|
# elasticsearch-index-prefix =
|
||||||
|
|
||||||
|
# Save operation as object(false)
|
||||||
|
# elasticsearch-operation-object =
|
||||||
|
|
||||||
|
# Start doing ES job after block(0)
|
||||||
|
# elasticsearch-start-es-after-block =
|
||||||
|
|
||||||
|
# Save operation as string. Needed to serve history api calls(true)
|
||||||
|
# elasticsearch-operation-string =
|
||||||
|
|
||||||
|
# Mode of operation: only_save(0), only_query(1), all(2) - Default: 0
|
||||||
|
# elasticsearch-mode =
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# es_objects plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Elasticsearch node url(http://localhost:9200/)
|
||||||
|
# es-objects-elasticsearch-url =
|
||||||
|
|
||||||
|
# Basic auth username:password('')
|
||||||
|
# es-objects-auth =
|
||||||
|
|
||||||
|
# Number of bulk documents to index on replay(10000)
|
||||||
|
# es-objects-bulk-replay =
|
||||||
|
|
||||||
|
# Number of bulk documents to index on a synchronized chain(100)
|
||||||
|
# es-objects-bulk-sync =
|
||||||
|
|
||||||
|
# Store proposal objects(true)
|
||||||
|
# es-objects-proposals =
|
||||||
|
|
||||||
|
# Store account objects(true)
|
||||||
|
# es-objects-accounts =
|
||||||
|
|
||||||
|
# Store asset objects(true)
|
||||||
|
# es-objects-assets =
|
||||||
|
|
||||||
|
# Store balances objects(true)
|
||||||
|
# es-objects-balances =
|
||||||
|
|
||||||
|
# Store limit order objects(true)
|
||||||
|
# es-objects-limit-orders =
|
||||||
|
|
||||||
|
# Store feed data(true)
|
||||||
|
# es-objects-asset-bitasset =
|
||||||
|
|
||||||
|
# Add a prefix to the index(ppobjects-)
|
||||||
|
# es-objects-index-prefix =
|
||||||
|
|
||||||
|
# Keep only current state of the objects(true)
|
||||||
|
# es-objects-keep-only-current =
|
||||||
|
|
||||||
|
# Start doing ES job after block(0)
|
||||||
|
# es-objects-start-es-after-block =
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# market_history plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
# Track market history by grouping orders into buckets of equal size measured in seconds specified as a JSON array of numbers
|
# Track market history by grouping orders into buckets of equal size measured in seconds specified as a JSON array of numbers
|
||||||
# bucket-size = [15,60,300,3600,86400]
|
bucket-size = [15,60,300,3600,86400]
|
||||||
bucket-size = [60,300,900,1800,3600,14400,86400]
|
|
||||||
# for 1 min, 5 mins, 30 mins, 1h, 4 hs and 1 day. i think this should be the default.
|
|
||||||
|
|
||||||
# How far back in time to track history for each bucket size, measured in the number of buckets (default: 1000)
|
# How far back in time to track history for each bucket size, measured in the number of buckets (default: 1000)
|
||||||
history-per-size = 1000
|
history-per-size = 1000
|
||||||
|
|
||||||
# Max amount of operations to store in the database, per account (drastically reduces RAM requirements)
|
|
||||||
max-ops-per-account = 1000
|
|
||||||
|
|
||||||
# Remove old operation history # objects from RAM
|
# ==============================================================================
|
||||||
partial-operations = true
|
# peerplays_sidechain plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# ID of SON controlled by this node (e.g. "1.33.5", quotes are required)
|
||||||
|
# son-id =
|
||||||
|
|
||||||
|
# IDs of multiple SONs controlled by this node (e.g. ["1.33.5", "1.33.6"], quotes are required)
|
||||||
|
# son-ids =
|
||||||
|
|
||||||
|
# Tuple of [PublicKey, WIF private key] (may specify multiple times)
|
||||||
|
peerplays-private-key = ["PPY6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]
|
||||||
|
|
||||||
|
# IP address of Bitcoin node
|
||||||
|
bitcoin-node-ip = 127.0.0.1
|
||||||
|
|
||||||
|
# ZMQ port of Bitcoin node
|
||||||
|
bitcoin-node-zmq-port = 11111
|
||||||
|
|
||||||
|
# RPC port of Bitcoin node
|
||||||
|
bitcoin-node-rpc-port = 8332
|
||||||
|
|
||||||
|
# Bitcoin RPC user
|
||||||
|
bitcoin-node-rpc-user = 1
|
||||||
|
|
||||||
|
# Bitcoin RPC password
|
||||||
|
bitcoin-node-rpc-password = 1
|
||||||
|
|
||||||
|
# Bitcoin wallet
|
||||||
|
# bitcoin-wallet =
|
||||||
|
|
||||||
|
# Bitcoin wallet password
|
||||||
|
# bitcoin-wallet-password =
|
||||||
|
|
||||||
|
# Tuple of [Bitcoin public key, Bitcoin private key] (may specify multiple times)
|
||||||
|
bitcoin-private-key = ["02d0f137e717fb3aab7aff99904001d49a0a636c5e1342f8927a4ba2eaee8e9772","cVN31uC9sTEr392DLVUEjrtMgLA8Yb3fpYmTRj7bomTm6nn2ANPr"]
|
||||||
|
|
||||||
|
# Sidechain retry throttling threshold
|
||||||
|
sidechain-retry-threshold = 150
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# snapshot plugin options
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Block number after which to do a snapshot
|
||||||
|
# snapshot-at-block =
|
||||||
|
|
||||||
|
# Block time (ISO format) after which to do a snapshot
|
||||||
|
# snapshot-at-time =
|
||||||
|
|
||||||
|
# Pathname of JSON file where to store the snapshot
|
||||||
|
# snapshot-to =
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# logging options
|
||||||
|
# ==============================================================================
|
||||||
|
#
|
||||||
|
# Logging configuration is loaded from logging.ini by default.
|
||||||
|
# If logging.ini exists, logging configuration added in this file will be ignored.
|
||||||
|
|
|
||||||
47
docker/logging.ini
Normal file
47
docker/logging.ini
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
# declare an appender named "stderr" that writes messages to the console
|
||||||
|
[log.console_appender.stderr]
|
||||||
|
stream=std_error
|
||||||
|
|
||||||
|
# declare an appender named "default" that writes messages to default.log
|
||||||
|
[log.file_appender.default]
|
||||||
|
# filename can be absolute or relative to this config file
|
||||||
|
filename=logs/default/default.log
|
||||||
|
# Rotate log every ? minutes, if leave out default to 60
|
||||||
|
rotation_interval=60
|
||||||
|
# how long will logs be kept (in days), if leave out default to 1
|
||||||
|
rotation_limit=7
|
||||||
|
|
||||||
|
# declare an appender named "p2p" that writes messages to p2p.log
|
||||||
|
[log.file_appender.p2p]
|
||||||
|
# filename can be absolute or relative to this config file
|
||||||
|
filename=logs/p2p/p2p.log
|
||||||
|
# Rotate log every ? minutes, if leave out default to 60
|
||||||
|
rotation_interval=60
|
||||||
|
# how long will logs be kept (in days), if leave out default to 1
|
||||||
|
rotation_limit=7
|
||||||
|
|
||||||
|
# declare an appender named "rpc" that writes messages to rpc.log
|
||||||
|
[log.file_appender.rpc]
|
||||||
|
# filename can be absolute or relative to this config file
|
||||||
|
filename=logs/rpc/rpc.log
|
||||||
|
# Rotate log every ? minutes, if leave out default to 60
|
||||||
|
rotation_interval=60
|
||||||
|
# how long will logs be kept (in days), if leave out default to 1
|
||||||
|
rotation_limit=7
|
||||||
|
|
||||||
|
# route any messages logged to the default logger to the "stderr" appender and
|
||||||
|
# "default" appender we declared above, if they are info level or higher
|
||||||
|
[logger.default]
|
||||||
|
level=info
|
||||||
|
appenders=stderr,default
|
||||||
|
|
||||||
|
# route messages sent to the "p2p" logger to the "p2p" appender declared above
|
||||||
|
[logger.p2p]
|
||||||
|
level=warn
|
||||||
|
appenders=p2p
|
||||||
|
|
||||||
|
# route messages sent to the "rpc" logger to the "rpc" appender declared above
|
||||||
|
[logger.rpc]
|
||||||
|
level=error
|
||||||
|
appenders=rpc
|
||||||
|
|
||||||
|
|
@ -78,6 +78,8 @@ fi
|
||||||
## This link has been created in Dockerfile, already
|
## This link has been created in Dockerfile, already
|
||||||
ln -f -s /etc/peerplays/config.ini /var/lib/peerplays
|
ln -f -s /etc/peerplays/config.ini /var/lib/peerplays
|
||||||
|
|
||||||
|
ln -f -s /etc/peerplays/logging.ini /var/lib/peerplays
|
||||||
|
|
||||||
# Plugins need to be provided in a space-separated list, which
|
# Plugins need to be provided in a space-separated list, which
|
||||||
# makes it necessary to write it like this
|
# makes it necessary to write it like this
|
||||||
if [[ ! -z "$PEERPLAYSD_PLUGINS" ]]; then
|
if [[ ! -z "$PEERPLAYSD_PLUGINS" ]]; then
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue