Overview
Last updated
Last updated
Frame is an open source framework for publishing to EVM-based block space.
It consists of two components:
A set of immutable smart contracts to popular EVM-based networks, which are used for storing, retrieving, and rendering a cohesive web page.
contracts that hold reusable browser code already on-chain, such as and . Once data is added to these contracts it cannot be edited or removed.
The GitHub repo can be found .
Web pages are rendered from on-chain by iteratively calling the renderPage
method on a contract and viewing the result in any modern web browser.
Each Frame contract will usually reference two types of contracts for its data:
Dependency data stores, such as , which contain already-on-chain code to be run in the web page on page load
A newly-deployed data store containing any new browser code that will be run in the web page, after imported code is run
Frames can reference code that is already on-chain (and thus paid for), greatly reducing a creator's cost to create something reliant on powerful open source libraries. For example, the contract provides access to or for tiny percentage of their original on-chain storage cost.
Web pages are really just containers for media. Frame was built to help creatives publish dynamic, high-fidelity media that lives entirely on-chain for as low of a cost as possible.
A creator can also do more with code in the browser than in the EVM. For example, libraries in the Frame Tools data store are stored in a compressed format (gzip), and are decompressed on page load using code from the js library.