How weihuang/quorum works
RUM is peer-to-peer application infrastructure: peers create or join groups, exchange encrypted activity events, and replicate group blockchains so applications can replay shared state. The main runtime is the local API and peer node; documented domain stages include group membership, event submission, block production/consensus, gossip, and synchronization. Storage, cryptography, and application-data replay are internal layers. The README describes these capabilities, but most implementation files were not sampled, so uncertain call wiring is omitted.
Main entry points: chain.go Group blockchain · server.go HTTP API · network.go Peer node · posttogroup.go Activity events
Components 19
Interfaces
- Terminal client
cmd/cli/main.go - HTTP API
internal/pkg/api/server.go - App API
pkg/app/api - Browser API
pkg/wasm/api
Groups and events
- Group operations
internal/pkg/api/creategroup.go - Activity events
internal/pkg/api/posttogroup.go - Group blockchain
internal/pkg/chain/chain.go - Block consensus
internal/pkg/chain/consensus.go - Block production
internal/pkg/chain/producer.go - Group sync
internal/pkg/chain/syncer.go
Peer network
- Peer node
internal/pkg/p2p/network.go - Event gossip
internal/pkg/pubsubconn/pubsubconn.go - Peer discovery
internal/pkg/p2p/mdns.go
Runtime foundations
- Keys and encryption
internal/pkg/crypto - Database manager
internal/pkg/storage/dbmgr.go - Persistent storage
internal/pkg/storage/storage.go - App data replay
internal/pkg/appdata/sync.go - Browser runtime context
pkg/wasm/context/context.go
Other components
- Peer user
Connections 20
- Peer user → HTTP API: sends requests
- HTTP API → Group operations: dispatches routes
- HTTP API → Activity events: dispatches routes
- Peer user → Terminal client: uses
- Terminal client → HTTP API: configures peer
- Peer user → App API: uses app
- Peer user → Browser API: uses browser app
- Peer node → HTTP API: serves API
- Peer node → Peer discovery: discovers peers
- Peer node → Event gossip: exchanges events
- Event gossip → Activity events: transmits events
- Activity events → Group blockchain: records events
- Group blockchain → Block consensus: uses consensus
- Block production → Group blockchain: produces blocks
- Group sync → Group blockchain: synchronizes blocks
- Group blockchain → Persistent storage: persists chain data
- Database manager → Persistent storage: manages stores
- App data replay → Group blockchain: replays blockchain
- Group operations → Keys and encryption: uses keys
- Browser runtime context → Browser API: provides runtime