The diagram above illustrates how P-Rep nodes interact with each other and external dApps in the TestNet environment.
A process view of a P-Rep node
There are five processes running inside a P-Rep node, namely
iconrpcserver handles JSON-RPC message requests
ICON RPC Server receives request messages from external clients and sends back responses. When receiving a message, ICON RPC Server will identify the requested method and transfer the request to its corresponding component, in either loopchain or ICON Service.
ICON Service manages the state of ICON network (i.e., states of user accounts and SCOREs) using LevelDB.
Before processing transactions, ICON Service performs syntax check on the request messages and pre-validates the status of accounts to see if the transactions are executable.
loopchain is the high-performance Blockchain Consensus & Network engine of ICON.
RabbitMQ is the most widely deployed open source message broker.
loopchain uses RabbitMQ as a message queue for inter-process communication.
Fluentd is the open source data collector, which lets you unify data collection and consumption.
Fluentd is included in the P-Rep node image. You can use Fluentd to systematically collect and aggregate the log data that other processes produce.
TCP 7100: gRPC port used for peer-to-peer connection between peer nodes.
TCP 9000: JSON-RPC or RESTful API port serving application requests.
TCP 5672: RabbitMQ port for inter-process communication.
RabbitMQ Management Console
TCP 15672: RabbitMQ Management will listen on port 15672.
You can use RabbitMQ Management by enabling this port. It must be enabled before it is used.(Check the
USE_MQ_ADMIN environment variable)
You can access the management web console at