gm fren, got an idea for a new feature?

Share your idea, explain the impact in your use-case and project, provide details on important capabilities and nice-to-have points.

Completed

Public RPC Aggregator

Some setting in our erpc.yaml (like projects.networks.[i].public = true) which would automatically add all the public upstreams for our network, plus we could add our own custom ones on-top of that just with the normal way of specifying upstreams) By public upstreams, this refers to https://chainlist.org/ RPC endpoints. Chainlist is open source and has an extremely wide avalibility of RPCs for each chain, so it is a great choice for this. It would be great if the implementation of this could also come with some reasonable failsafe defaults to aggressively ignore ones that are constantly failing (many of these RPCs are bad, so we need to filter them out fast). Relevant conversation and context: https://t.me/erpc_cloud/449 (@WesleyCharlesBlake already started down this path) This would be absolutely HUGE for supporting multichain applications, as now developer no longer need to worry about specific RPC endpoints at all, and can add new chains to their app extremely easily.

v Over 1 year ago

3

Completed

Extend caching config (TTL, Per-method policies, Multiple storage)

Would be awesome to have per project custom caching policies, with a config like this for example: ``` type CachingPolicy = { /// Type of caching policy (maybe it could be possible to have something like “block” and “reorg” type?) type: "duration", /// The json rpc method to cache method: string, /// Some regex params for which to ignore caching if present in the params, or maybe something like in the upstream with an ignore + allow properties ignoreForParams: string[], /// Custom properties for duration based caching duration?: { period: string } } ``` My use case would be around the pimlico endpoint pimlico_getUserOperationGasPrice , like a 10sec caching, to have faster response and reduce pimlico credits consumption if we got a user activity spike on our end. I think ti could also be useful for frontend applications to use a duration based caching for the eth_getBlockByNumber and params latest, with an ignore pattern like ^(?!latest$|earliest$).*$

Quentin Nivelais Over 1 year ago

1