This page describes loopchain (ICON1) and is there obsolete. We will provide a new architecture description for goloop in the future.
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
iconrpcserverhandles 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.
loopchainis 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
- You can access the management web console at