Frame
  • Overview
  • Reference
    • Deployed Contracts
    • Technical Reference
      • Frame
      • FrameDataStore
      • FrameFactory
      • FrameDataStoreFactory
    • Contract Source
      • Frame
      • FrameDataStore
      • FrameFactory
      • FrameDataStoreFactory
      • FrameDataStoreOwnable
Powered by GitBook
On this page
  • How it Works
  • Use-Case

Overview

NextDeployed Contracts

Last updated 2 years ago

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 .

How it Works

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.

Use-Case

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.

web pages
deployed
FrameDataStore
three.js
p5.js
here
Frame
FrameDataStore
FrameTools
FrameTools
p5.js
three.js
fflate