Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced ABI Caches #31

Open
aaroncox opened this issue Feb 15, 2023 · 0 comments
Open

Advanced ABI Caches #31

aaroncox opened this issue Feb 15, 2023 · 0 comments
Assignees
Milestone

Comments

@aaroncox
Copy link
Member

Implement intelligent long term ABI caching, both natively and through Robo V2.

  • Native we can use get_raw_abi instead of get_abi, and then create a permanent cache of that ABI stored by its hash. In future requests, when we see a cache entry, the client can make a quick call to get_code_hash to compare the local hash with the remote hash, determining whether the cache should be replaced. IndexedDB or CacheStorage could be used to hold these records in the client long term.
  • Robo v2 availability would allow us to redirect requests for ABIs (e.g. get_abi/[contract_name]) to caches that have Cache-Control: immutable in the headers, allowing the browser to just perform the caching for us.

Internal discussion: https://greymass.slack.com/archives/C045MUS6F0F/p1676444342156639

@aaroncox aaroncox added this to the Unscheduled milestone Apr 18, 2023
@apporc apporc self-assigned this Sep 18, 2023
@aaroncox aaroncox moved this to In Progress in Wharf v1.0 Sep 20, 2023
@david-at-greymass david-at-greymass moved this from In Progress to Todo in Wharf v1.0 Oct 2, 2023
@david-at-greymass david-at-greymass moved this from Todo to Icebox in Wharf v1.0 Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Icebox
Development

No branches or pull requests

2 participants