Industrialising blockchain access as a containerised service
For the Share3 platform, moving from direct, fragile and uncontrolled RPC access to a self-contained Docker service with caching, abuse protection and built-in supervision.
- Client
- Share3 : own product
- Period
- 2024 – present
- Sector
- Blockchain / Infrastructure
Architecture & industrialisation
3
networks served (mainnet, devnet, testnet)
30s
health check interval
auto
restart and log rotation
The starting problem
Querying a blockchain directly from an application creates three concrete problems: public endpoints are rate-limited and drop without warning, identical requests are repeated pointlessly, and nothing prevents a buggy application from saturating access. Without an intermediate layer, every application has to reinvent these protections.
The approach
Put a proxy between applications and the network, then industrialise it: make it self-contained, supervised, restartable and deployable in one command, treat it as an infrastructure component, not a script.
What I put in place
- A full RPC proxy with caching of frequent requests to absorb repetitive load
- Per-IP rate limiting and API key support to control usage
- Request batching to reduce network round trips
- Docker containerisation with an automatic restart policy
- A health check every 30 seconds on a dedicated endpoint
- Bounded log rotation (3 files of 10 MB) to prevent disk saturation
- An isolated Docker network and a web supervision dashboard
- A ready-to-use JavaScript client for consuming applications
The results
- A single stable access point for all applications, instead of scattered direct calls
- Reduced network load thanks to caching and request batching
- Protection against accidental saturation by a failing application
- Self-healing service: failure detection and restart with no intervention
- Reproducible one-command deployment on any server
Tech stack
- Docker
- Docker Compose
- Node.js
- JSON-RPC
- Solana
- Nginx
- Healthchecks