Source
MPC team feedback via @marten.blankfors (Slack thread)
Problem Statement
"Lacking a proper solution for subscribing to blockchain data. The fact that the canonical way to do this is to embed a full nearcore node is so painful."
Pain points:
- Ties releases to nearcore releases (every upgrade is a hard fork deadline)
- Hard to debug (nearcore memory leak took down MPC nodes, GC bug filled disks)
- Full node overhead to track a single contract
Research Findings
Root Cause
The MPC team historically chose to embed nearcore directly for lowest latency. This created tight coupling — they depend on 8 internal nearcore crates not meant for external use.
Alternatives Exist
There are several indexing options that don't require embedding nearcore:
- NEAR Lake Framework (S3-based)
- FastNEAR / NEARDATA
- RPC polling via near-api-rs
- WebSocket event streams
Each has different latency/complexity tradeoffs. The MPC team would need to evaluate which fits their requirements.
Remaining Gaps
- No official push-based subscription — all options require polling (S3, HTTP, or RPC)
- Sub-second latency — may require running own infrastructure or using optimistic blocks
- Migration effort — MPC team needs to refactor away from internal nearcore crates
- Unclear recommendation — no documented guidance on which approach fits which use case
Recommended Actions
Source
MPC team feedback via @marten.blankfors (Slack thread)
Problem Statement
Pain points:
Research Findings
Root Cause
The MPC team historically chose to embed nearcore directly for lowest latency. This created tight coupling — they depend on 8 internal nearcore crates not meant for external use.
Alternatives Exist
There are several indexing options that don't require embedding nearcore:
Each has different latency/complexity tradeoffs. The MPC team would need to evaluate which fits their requirements.
Remaining Gaps
Recommended Actions