diff --git a/icon-node/maintenance/node-operation-and-configuration.md b/icon-node/maintenance/node-operation-and-configuration.md
index 45bc1dd..2cd3da5 100644
--- a/icon-node/maintenance/node-operation-and-configuration.md
+++ b/icon-node/maintenance/node-operation-and-configuration.md
@@ -49,7 +49,7 @@ loopchain 2.4.16
### **Entrypoint.sh Diagram**
-![](../../.gitbook/assets/639df0d-0623407-entrypoint_diagram.jpg)
+![](../../.gitbook/assets/639df0d-0623407-entrypoint\_diagram.jpg)
@@ -112,7 +112,7 @@ $ curl localhost:9000/api/v1/status/peer
}
```
-* `/api/v1/avail/peer` returns HTTP response 503 when the service is unavailable
+* `/api/v1/avail/peer` returns HTTP response 503 when the service is unavailable
This is useful when performing a health check based on the HTTP response code of the load balancer.
@@ -228,30 +228,30 @@ Content-Type: application/json
## Node Status Detail
-| value name | Description | Reason or allowed value |
-| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| made_block_count | number of block generated by node | Reset when node became a leader after a rotation or reorerated. |
-| status | service on / off status |
"Service is online: 1" : Working (leader status)
"Service is online: 0" : Working (not a leader status)
"Service is offline: block height sync" : block sync condition
"Service is offline: mq down" ": channel mq issue
|
-| state | node condition | detailed information (display at bottom) |
-| service_available | service condition | \[ true / false ] |
-| peer_type | classify leader node and verifying node | "0" : verifying node
"1" : leader node
|
-| audience_count | `DEPRECATION`, It will be remove | |
-| consensus | consensus algorithm | "siever" : current consensus algorithm
"LFT" : consensus algorithm that will adapt in the future
|
-| peer_id | unique address of node | 40 digit HEX string |
-| block_height | Current block height of node | |
-| round | number of counts for current block consensus process | The count increases by one when leader node fails to process transaction and leader complaint is occured or consensus is failed. The count reset when block generation is complete |
-| epoch_height | block heights of processing block. In case of citizen nodes, their block heights stop at SubscribeNetwork block heights because they don’t participate in consensus. | |
-| unconfirmed_block_height | block heights of unprocessed block | same as epoch_height |
-| total_tx | Total number of tx until current block | |
-| unconfirmed_tx | number of unprocessed tx that hold by queue
if it holds by leader more than one minute leader complaint will occur
| |
-| peer_target | IP address and port of node | "IP:PORT" |
-| leader_complaint | `DEPRECATION`, It will be remove | |
-| peer_count | total number of nodes in blockchain network | |
-| leader | Unique address of a leader node | 40 digit HEX string |
-| epoch_leader | Unique address of a leader node in consensus process | 40 digit HEX string |
-| mq.peer.message_count | Accumulated number of messages in pier MQ | Presents ‘-1’ when an error occurs and details can be found in "error" |
-| mq.channel.message_count | Accumulated number of messages in channel MQ | Presents ‘-1’ when an error occurs and details can be found in "error" |
-| mq.score.message_count | Accumulated number of messages in SCORE MQ | Presents ‘-1’ when an error occurs and details can be found in "error" |
+| value name | Description | Reason or allowed value |
+| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| made\_block\_count | number of block generated by node | Reset when node became a leader after a rotation or reorerated. |
+| status | service on / off status | "Service is online: 1" : Working (leader status)
"Service is online: 0" : Working (not a leader status)
"Service is offline: block height sync" : block sync condition
"Service is offline: mq down" ": channel mq issue
|
+| state | node condition | detailed information (display at bottom) |
+| service\_available | service condition | \[ true / false ] |
+| peer\_type | classify leader node and verifying node | "0" : verifying node
"1" : leader node
|
+| audience\_count | `DEPRECATION`, It will be remove | |
+| consensus | consensus algorithm | "siever" : current consensus algorithm
"LFT" : consensus algorithm that will adapt in the future
|
+| peer\_id | unique address of node | 40 digit HEX string |
+| block\_height | Current block height of node | |
+| round | number of counts for current block consensus process | The count increases by one when leader node fails to process transaction and leader complaint is occured or consensus is failed. The count reset when block generation is complete |
+| epoch\_height | block heights of processing block. In case of citizen nodes, their block heights stop at SubscribeNetwork block heights because they don’t participate in consensus. | |
+| unconfirmed\_block\_height | block heights of unprocessed block | same as epoch\_height |
+| total\_tx | Total number of tx until current block | |
+| unconfirmed\_tx | number of unprocessed tx that hold by queue
if it holds by leader more than one minute leader complaint will occur
| |
+| peer\_target | IP address and port of node | "IP:PORT" |
+| leader\_complaint | `DEPRECATION`, It will be remove | |
+| peer\_count | total number of nodes in blockchain network | |
+| leader | Unique address of a leader node | 40 digit HEX string |
+| epoch\_leader | Unique address of a leader node in consensus process | 40 digit HEX string |
+| mq.peer.message\_count | Accumulated number of messages in pier MQ | Presents ‘-1’ when an error occurs and details can be found in "error" |
+| mq.channel.message\_count | Accumulated number of messages in channel MQ | Presents ‘-1’ when an error occurs and details can be found in "error" |
+| mq.score.message\_count | Accumulated number of messages in SCORE MQ | Presents ‘-1’ when an error occurs and details can be found in "error" |
## State Detail
@@ -271,99 +271,95 @@ Content-Type: application/json
### **Docker Environment Variables**
-If you want to change the TimeZone, open `docker-compose.yml` in a text editor and add the following content:
-
```
-version: "3"
+version: '3'
services:
- prep-node:
- image: "iconloop/prep-node:1910261021xc97f33"
- container_name: "prep-mainnet"
- network_mode: host
- restart: "always"
- environment:
- NETWORK_ENV: "mainnet"
- SWITCH_BH_VERSION3: "10324749"
- CERT_PATH: "/cert"
- LOOPCHAIN_LOG_LEVEL: "DEBUG"
- ICON_LOG_LEVEL: "DEBUG"
- FASTEST_START: "yes" # Restore from lastest snapshot DB
- PRIVATE_KEY_FILENAME: "{YOUR_KEYSTORE or YOUR_CERTKEY FILENAME}" # only file name
- PRIVATE_PASSWORD: "{YOUR_KEY_PASSWORD}"
- TZ: "America/Los_Angeles" # Added content to change the TimeZone
- cap_add:
- - SYS_TIME
- volumes:
- - ./data:/data # mount a data volumes
- - ./cert:/cert # Automatically generate cert key files here
- ports:
- - 9000:9000
- - 7100:7100
+ icon2-node:
+ image: 'iconloop/icon2-node'
+ restart: "on-failure"
+ container_name: "icon2-node"
+ network_mode: "host"
+ stdin_open: true
+ environment:
+ SERVICE: "MainNet" # MainNet, SeJong
+ #IS_AUTOGEN_CERT: "true"
+ GOLOOP_LOG_LEVEL: "debug" # trace, debug, info, warn, error, fatal, panic
+ KEY_STORE_FILENAME: "INPUT_YOUR_KEY_STORE_FILENAME" # e.g. keystore.json read a config/keystore.json
+ KEY_PASSWORD: "INPUT_YOUR_KEY_PASSWORD" # e.g. "/goloop/config/keystore.json" read a "config/keystore.json" of host machine
+ FASTEST_START: "true" # It can be restored from latest Snapshot DB.
+ ROLE: 3 # preps = 3, citizen = 0
+
+ cap_add:
+ - SYS_TIME
+
+ volumes:
+ - ./config:/goloop/config
+ - ./data:/goloop/data
+ - ./logs:/goloop/logs
```
The P-Rep Node image supports the following environment variables:
-| Environment variable | Description | Default value | Allowed value | |
-| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | - |
-| IPADDR | Setting the IP address | $EXT_IPADDR | | |
-| LOCAL_TEST | false | false | | |
-| TZ | Setting the TimeZone Environment | Asia/Seoul | [List of TZ name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) | |
-| NETWORK_ENV | Network Environment name | PREP-TestNet | mainnet, PREP-TestNet | |
-| SERVICE | Service Name | default | | |
-| SERVICE_API | SERVICE_API URI | [https://${SERVICE}.net.solidwallet.io/api/v3](https://${service}.net.solidwallet.io/api/v3) | URI | |
-| ENDPOINT_URL | ENDPOINT API URI | [https://${SERVICE}.net.solidwallet.io](https://${service}.net.solidwallet.io) | URI | |
-| NTP_SERVER | NTP SERVER ADDRESS | time.google.com | | |
-| NTP_REFRESH_TIME | NTP refresh time | 21600 | | |
-| FIND_NEIGHBOR | Find fastest neighborhood PRrep | false | | |
-| DEFAULT_PATH | Setting the Default Root PATH | /data/${NETWORK_ENV} | | |
-| DEFAULT_LOG_PATH | Setting the logging path | ${DEFAULT_PATH}/log | | |
-| DEFAULT_STORAGE_PATH | block DB will be stored | ${DEFAULT_PATH}/.storage | | |
-| USE_NAT | if you want to use NAT Network | no | | |
-| NETWORK_NAME | | | | |
-| VIEW_CONFIG | for check deployment state | false | boolean (true/false) | |
-| USE_MQ_ADMIN | Enable RabbitMQ management Web interface.The management UI can be accessed using a Web browser at [http://{node-hostname}:15672/](http://{node-hostname}:15672) | false | boolean (true/false) | |
-| MQ_ADMIN | RabbitMQ management username | admin | | |
-| MQ_PASSWORD | RabbitMQ management password | iamicon | | |
-| LOOPCHAIN_LOG_LEVEL | loopchain log level | INFO | DEBUG, INFO, WARNING, ERROR | |
-| ICON_LOG_LEVEL | iconservice log level | INFO | DEBUG, INFO, WARNING, ERROR | |
-| LOG_OUTPUT_TYPE | loopchain's output log type | file | file, console | |
-| outputType | iconservice's output log type | $LOG_OUTPUT_TYPE | file, console | |
-| CONF_PATH | Setting the configure file path | /${APP_DIR}/conf | | |
-| CERT_PATH | Setting the certificate key file path | /${APP_DIR}/cert | | |
-| REDIRECT_PROTOCOL | http | http | | |
-| SUBSCRIBE_USE_HTTPS | false | false | | |
-| ICON_NID | Setting the ICON Network ID number | 0x50 | | |
-| ALLOW_MAKE_EMPTY_BLOCK | false | false | | |
-| score_fee | true | true | | |
-| score_audit | false | false | | |
-| scoreRootPath | ${DEFAULT_PATH}/.score_data/score | ${DEFAULT_PATH}/.score_data/score | | |
-| stateDbRootPath | ${DEFAULT_PATH}/.score_data/db | ${DEFAULT_PATH}/.score_data/db | | |
-| iissDbRootPath | ${DEFAULT_PATH}/.iissDb | ${DEFAULT_PATH}/.iissDb | | |
-| CHANNEL_BUILTIN | boolean (true/false) | true | | |
-| PEER_NAME | `uname` | `uname` | | |
-| PUBLIC_PATH | public cert key location | ${CERT_PATH}/${IPADDR}\_public.der | | |
-| PRIVATE_PATH | private cert key location | ${CERT_PATH}/${IPADDR}\_private.der | | |
-| PRIVATE_PASSWORD | private cert key password | test | | |
-| LOAD_PEERS_FROM_IISS | true | true | | |
-| CHANNEL_MANAGE_DATA_PATH | ${CONF_PATH}/channel_manange_data.json | ${CONF_PATH}/channel_manange_data.json | | |
-| CONFIG_API_SERVER | [https://download.solidwallet.io](https://download.solidwallet.io) | [https://download.solidwallet.io](https://download.solidwallet.io) | | |
-| GENESIS_DATA_PATH | ${CONF_PATH}/genesis.json | ${CONF_PATH}/genesis.json | | |
-| BLOCK_VERSIONS | | | | |
-| NEXT_BLOCK_VERSION_HEIGHT | | | | |
-| FORCE_RUN_MODE | Setting the loopchain running parameter e.g. if FORCE_RUN_MODE is | | | |
-| configure_json | ${CONF_PATH}/configure.json | ${CONF_PATH}/configure.json | | |
-| iconservice_json | ${CONF_PATH}/iconservice.json | ${CONF_PATH}/iconservice.json | | |
-| iconrpcserver_json | ${CONF_PATH}/iconrpcserver.json | ${CONF_PATH}/iconrpcserver.json | | |
-| ICON_REVISION | 4 | 4 | | |
-| ROLE_SWITCH_BLOCK_HEIGHT | 1 | 1 | | |
-| mainPRepCount | 22 | 22 | | |
-| mainAndSubPRepCount | 100 | 100 | | |
-| decentralizeTrigger | 0.002 | 0.002 | | |
-| RPC_PORT | Choose a RPC service port | 9000 | | |
-| RPC_WORKER | Setting the number of RPC workers | 3 | | |
-| RPC_GRACEFUL_TIMEOUT | rpc graceful timeout | 0 | | |
-| PRIVATE_KEY_FILENAME | YOUR_KEYSTORE or YOUR_CERTKEY FILENAME | | FileName | |
-| PRIVATE_PASSWORD | YOUR_KEY_PASSWORD | | String | |
+| Environment variable | Description | Default value | Allowed value | |
+| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | --------------------------- | - |
+| IPADDR | Setting the IP address | $EXT\_IPADDR | | |
+| LOCAL\_TEST | false | false | | |
+| NETWORK\_ENV | Network Environment name | PREP-TestNet | mainnet, PREP-TestNet | |
+| SERVICE | Service Name | default | | |
+| SERVICE\_API | SERVICE\_API URI | [https://${SERVICE}.net.solidwallet.io/api/v3](https://${service}.net.solidwallet.io/api/v3) | URI | |
+| ENDPOINT\_URL | ENDPOINT API URI | [https://${SERVICE}.net.solidwallet.io](https://${service}.net.solidwallet.io) | URI | |
+| NTP\_SERVER | NTP SERVER ADDRESS | time.google.com | | |
+| NTP\_REFRESH\_TIME | NTP refresh time | 21600 | | |
+| FIND\_NEIGHBOR | Find fastest neighborhood PRrep | false | | |
+| DEFAULT\_PATH | Setting the Default Root PATH | /data/${NETWORK\_ENV} | | |
+| DEFAULT\_LOG\_PATH | Setting the logging path | ${DEFAULT\_PATH}/log | | |
+| DEFAULT\_STORAGE\_PATH | block DB will be stored | ${DEFAULT\_PATH}/.storage | | |
+| USE\_NAT | if you want to use NAT Network | no | | |
+| NETWORK\_NAME | | | | |
+| VIEW\_CONFIG | for check deployment state | false | boolean (true/false) | |
+| USE\_MQ\_ADMIN | Enable RabbitMQ management Web interface.The management UI can be accessed using a Web browser at [http://{node-hostname}:15672/](http://{node-hostname}:15672) | false | boolean (true/false) | |
+| MQ\_ADMIN | RabbitMQ management username | admin | | |
+| MQ\_PASSWORD | RabbitMQ management password | iamicon | | |
+| LOOPCHAIN\_LOG\_LEVEL | loopchain log level | INFO | DEBUG, INFO, WARNING, ERROR | |
+| ICON\_LOG\_LEVEL | iconservice log level | INFO | DEBUG, INFO, WARNING, ERROR | |
+| LOG\_OUTPUT\_TYPE | loopchain's output log type | file | file, console | |
+| outputType | iconservice's output log type | $LOG\_OUTPUT\_TYPE | file, console | |
+| CONF\_PATH | Setting the configure file path | /${APP\_DIR}/conf | | |
+| CERT\_PATH | Setting the certificate key file path | /${APP\_DIR}/cert | | |
+| REDIRECT\_PROTOCOL | http | http | | |
+| SUBSCRIBE\_USE\_HTTPS | false | false | | |
+| ICON\_NID | Setting the ICON Network ID number | 0x50 | | |
+| ALLOW\_MAKE\_EMPTY\_BLOCK | false | false | | |
+| score\_fee | true | true | | |
+| score\_audit | false | false | | |
+| scoreRootPath | ${DEFAULT\_PATH}/.score\_data/score | ${DEFAULT\_PATH}/.score\_data/score | | |
+| stateDbRootPath | ${DEFAULT\_PATH}/.score\_data/db | ${DEFAULT\_PATH}/.score\_data/db | | |
+| iissDbRootPath | ${DEFAULT\_PATH}/.iissDb | ${DEFAULT\_PATH}/.iissDb | | |
+| CHANNEL\_BUILTIN | boolean (true/false) | true | | |
+| PEER\_NAME | `uname` | `uname` | | |
+| PUBLIC\_PATH | public cert key location | ${CERT\_PATH}/${IPADDR}\_public.der | | |
+| PRIVATE\_PATH | private cert key location | ${CERT\_PATH}/${IPADDR}\_private.der | | |
+| PRIVATE\_PASSWORD | private cert key password | test | | |
+| LOAD\_PEERS\_FROM\_IISS | true | true | | |
+| CHANNEL\_MANAGE\_DATA\_PATH | ${CONF\_PATH}/channel\_manange\_data.json | ${CONF\_PATH}/channel\_manange\_data.json | | |
+| CONFIG\_API\_SERVER | [https://download.solidwallet.io](https://download.solidwallet.io) | [https://download.solidwallet.io](https://download.solidwallet.io) | | |
+| GENESIS\_DATA\_PATH | ${CONF\_PATH}/genesis.json | ${CONF\_PATH}/genesis.json | | |
+| BLOCK\_VERSIONS | | | | |
+| NEXT\_BLOCK\_VERSION\_HEIGHT | | | | |
+| FORCE\_RUN\_MODE | Setting the loopchain running parameter e.g. if FORCE\_RUN\_MODE is | | | |
+| configure\_json | ${CONF\_PATH}/configure.json | ${CONF\_PATH}/configure.json | | |
+| iconservice\_json | ${CONF\_PATH}/iconservice.json | ${CONF\_PATH}/iconservice.json | | |
+| iconrpcserver\_json | ${CONF\_PATH}/iconrpcserver.json | ${CONF\_PATH}/iconrpcserver.json | | |
+| ICON\_REVISION | 4 | 4 | | |
+| ROLE\_SWITCH\_BLOCK\_HEIGHT | 1 | 1 | | |
+| mainPRepCount | 22 | 22 | | |
+| mainAndSubPRepCount | 100 | 100 | | |
+| decentralizeTrigger | 0.002 | 0.002 | | |
+| RPC\_PORT | Choose a RPC service port | 9000 | | |
+| RPC\_WORKER | Setting the number of RPC workers | 3 | | |
+| RPC\_GRACEFUL\_TIMEOUT | rpc graceful timeout | 0 | | |
+| PRIVATE\_KEY\_FILENAME | YOUR\_KEYSTORE or YOUR\_CERTKEY FILENAME | | FileName | |
+| PRIVATE\_PASSWORD | YOUR\_KEY\_PASSWORD | | String | |
### **Troubleshooting**
@@ -437,25 +433,25 @@ $ cat data/PREP-MainNet/log/booting_${DATE}.log | grep ERROR
**iconrpcserver.log**
-* The log file contains information about the request/response message handling going through the iconrpcserver.
+* The log file contains information about the request/response message handling going through the iconrpcserver.
**iconservice.log**
* The log file contains the internals of ICON Service
-**loopchain.channel-txcreator-icon_dex_broadcast.icon_dex.log**
+**loopchain.channel-txcreator-icon\_dex\_broadcast.icon\_dex.log**
* The log file contains information about TX broadcast from a node to other nodes
-**loopchain.channel-txcreator.icon_dex.log**
+**loopchain.channel-txcreator.icon\_dex.log**
* The log file contains information about the process of confirming TXƒ
-**loopchain.channel-txreceiver.icon_dex.log**
+**loopchain.channel-txreceiver.icon\_dex.log**
* The log file contains information about receiving the broadcasted TX from a node.
-**loopchain.channel.icon_dex.log**
+**loopchain.channel.icon\_dex.log**
* The log file contains information about internals of loopchain engine
diff --git a/references/how-to/set-up-a-keystore-file-on-a-p-rep-node.md b/references/how-to/set-up-a-keystore-file-on-a-p-rep-node.md
index 65b11ea..8bf18c1 100644
--- a/references/how-to/set-up-a-keystore-file-on-a-p-rep-node.md
+++ b/references/how-to/set-up-a-keystore-file-on-a-p-rep-node.md
@@ -8,7 +8,7 @@ Export your Keystore file whitch you registered in. You can see how to get the K
The keystore file needs to be exported and stored in the cert directory. Below is a directory structure under the `docker-compose.yml`
-```text
+```
|-- docker-compose.yml
|-- data → data directory
|-- mainnet → block DB directory
@@ -21,7 +21,7 @@ Important - you should put your keystore file under the `/cert` folder.
### 3. Rename Keystore file simply
-Enter a short name for the keystore file \(recommended\).
+Enter a short name for the keystore file (recommended).
### 4. Import your keystore file into `docker-compose.yml`
@@ -30,36 +30,35 @@ If your keystore file name is `textKeystore` then the `docker-compose.yml` file
`$ cat docker-compose.yml`
```yaml
-version: "3"
+version: '3'
services:
-prep-node:
- image: "iconloop/prep-node:1910211829xc2286d"
- container_name: "prep-mainnet"
- network_mode: host
- restart: "always"
+ icon2-node:
+ image: 'iconloop/icon2-node'
+ restart: "on-failure"
+ container_name: "icon2-node"
+ network_mode: "host"
+ stdin_open: true
environment:
- NETWORK_ENV: "mainnet"
- LOG_OUTPUT_TYPE: "file"
- SWITCH_BH_VERSION3: "10324749"
- CERT_PATH: "/cert"
- LOOPCHAIN_LOG_LEVEL: "DEBUG"
- ICON_LOG_LEVEL: "DEBUG"
- FASTEST_START: "yes" # Restore from lastest snapshot DB
- PRIVATE_KEY_FILENAME: "testKeystore" # only file name
- PRIVATE_PASSWORD: "testKeystorepassword"
+ SERVICE: "MainNet" # MainNet, SeJong
+ #IS_AUTOGEN_CERT: "true"
+ GOLOOP_LOG_LEVEL: "debug" # trace, debug, info, warn, error, fatal, panic
+ KEY_STORE_FILENAME: "INPUT_YOUR_KEY_STORE_FILENAME" # e.g. keystore.json read a config/keystore.json
+ KEY_PASSWORD: "INPUT_YOUR_KEY_PASSWORD" # e.g. "/goloop/config/keystore.json" read a "config/keystore.json" of host machine
+ FASTEST_START: "true" # It can be restored from latest Snapshot DB.
+ ROLE: 3 # preps = 3, citizen = 0
+
cap_add:
- - SYS_TIME
+ - SYS_TIME
+
volumes:
- - ./data:/data # mount a data volumes
- - ./cert:/cert # Automatically generate cert key files here
- ports:
- - 9000:9000
- - 7100:7100
+ - ./config:/goloop/config
+ - ./data:/goloop/data
+ - ./logs:/goloop/logs
```
Also, you can see the directory path as below:
-```text
+```
|-- docker-compose.yml
|-- data → data directory
|-- mainnet → block DB directory
@@ -74,7 +73,7 @@ Also, you can see the directory path as below:
The `docker ps` command shows the list of running docker containers.
-```text
+```
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0de99e33cdc9 iconloop/prep-node:1910211829xc2286d "/src/entrypoint.sh" 2 minutes ago Up 2 minutes(healthy) 0.0.0.0:7100->7100/tcp, 0.0.0.0:9000->9000/tcp prep_prep_1
@@ -85,11 +84,11 @@ You should look at the `STATUS` field to see if the container is running up and
Inside the container, there is a `healthcheck` script running with the following configuration. It will return `unhealthy` when it fails.
| Healthcheck option | value |
-| :--- | :--- |
-| retries | 4 |
-| interval | 30s |
-| timeout | 20s |
-| start-period | 60s |
+| ------------------ | ----- |
+| retries | 4 |
+| interval | 30s |
+| timeout | 20s |
+| start-period | 60s |
The container can have three states:
@@ -99,7 +98,7 @@ The container can have three states:
If the container does not start properly or went down unexpectedly, please check the `booting.log`. Below is the log messages on **success**.
-```text
+```
$ cat data/PREP-MainNet/log/booting_${DATE}.log
[2019-10-23 17:47:05.204] Your IP: xxx.xxx.xxx.xxx
@@ -124,7 +123,7 @@ loopchain 2.4.15
Grep the `ERROR` messages from the log files to find the possible cause of the failure.
-```text
+```
$ cat data/PREP-MainNet/log/booting_${DATE}.log | grep ERROR
[2019-08-12 02:08:48.746] [ERROR] Download Failed - http://20.20.1.149:5000/cert/20.20.1.195_public.der status_code=000
@@ -137,7 +136,7 @@ $ cat data/PREP-MainNet/log/booting_${DATE}.log | grep ERROR
* booting.log
* The log file contains the errors that occurred when the docker container starts up.
* iconrpcserver.log
- * The log file contains information about the request/response message handling going through the iconrpcserver.
+ * The log file contains information about the request/response message handling going through the iconrpcserver.
* iconservice.log
* The log file contains the internals of ICON Service
* loopchain.channel-txcreator-icon\_dex\_broadcast.icon\_dex.log
@@ -157,4 +156,3 @@ We recommend the following tools for resource monitoring
2. CPU/Memory monitoring - top, htop
3. Disk I/O monitoring - iostat, iotop
4. Docker monitoring - docker stats, ctop
-