# Onchain File Storage

The Highlight File System client is a CLI tool to upload generative art projects onchain and manage your onchain file systems. Each Generative Series ([ERC721GenerativeOnchain](https://github.com/highlightxyz/hl-evm-contracts/blob/main/contracts/erc721/onchain/OnchainFileStorage.sol)) contract hosts its own FileSystem to enable flexibility.

Writing a new file onchain consists of two major steps: deploying the file, and adding it to a contract's file system. Since this process is modular, creators can easily add files that are already deployed to a given chain to their contract's file system, without having to deploy a new copy themselves. For example, Highlight has already deployed the minified version of p5.js 1.6.0 to Base, Optimism, and Zora. The tools in the following repository make both steps extremely easy, and are easy to customize.

To install the CLI and start uploading files to your Generative Series contracts, follow the [setup instructions and guide on Github](https://github.com/highlightxyz/generative-onchain-tools/tree/main/file-system).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.highlight.xyz/knowledge-base/for-developers/onchain-file-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
