Introduction
Arweave Manifests unlock new and unique experiences that can only be made possible on the Permaweb.
An Arweave Manifest is a mapping of Arweave Transaction IDs to friendly names. This map is put into a standardized JSON structure and permanently stored on Arweave. This allows users to create logical groupings of content. Arweave Gateways interpret this structure so users can reference individual transactions by their file name and/or path.
This makes it easier for web masters, NFT creators or any other user to reference their transactions by a single “master” manifest transaction and the individual file path and name. They allow you to use friendlier URLs like...
https://arweave.net/Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA/0.png
https://arweave.net/Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA/333.png
...rather than opaque Arweave transaction IDs that ordinarily reference your data:
https://arweave.net/ISvPQyG8qWzJ1Pv5em5xK8Ht38HZ3ub1fPHbFEqDPK0
https://arweave.net/nHuFsR2Y-e_qtnsmj0avn37CTWxlZ4zvG_CKwtldK3I
This standard was created by the Arweave Team. More details on its motivation, schema and path resolution details can be found on Github.
-----
With ArDrive, any Drive or Folder can be turned into a Manifest. The file names and paths are represented within the Arweave Manifest, making it easier for developers and users to reference their content by the names used on their local file systems.
NOTE: Arweave Manifests must be public, non-encrypted data for the Arweave Gateways to interpret them.
Want to learn more? Check out this deep dive into Arweave Manifests and demonstration on how to create them with ArDrive Web, CLI and Core-Js
---
Use Cases
Arweave Manifests tie many transaction IDs to one transaction ID. This opens a variety of use cases
- Aggregate your NFT assets into a single Arweave transaction ID for easier Smart Contract publication.
-
Host a personal or business website
-
Host a web application using familiar frameworks like JavaScript, React and Angular
NFT Publication
Digital creators, whether music, art or video (or anything in between) can leverage an Arweave Manifest in order to reference their permanently stored data within their NFT Smart Contracts using a predefined set of friendly names.
Here is an example manifest that groups 1,111 images that were part of an NFT drop. The artist did not want to sacrifice the naming scheme used to programmatically generate the artwork. The manifest references all 1,111 images with a single Arweave Transaction ID that can be used in an ERC721 contract.
The root manifest transaction (Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA) has a default index
that corresponds to the Arweave Transaction ID for image number 0:
This image can also be reached using the manifest transaction plus its friendly name 0.png
:
0.png
could also be reached directly by its own unique Arweave Transaction ID: (ISvPQyG8qWzJ1Pv5em5xK8Ht38HZ3ub1fPHbFEqDPK0)
Any other file in the manifest can be seen by adding the corresponding filename, from 0.png
to 1110.png
:
-
https://arweave.net/Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA/1.png
-
https://arweave.net/Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA/333.png
-
https://arweave.net/Bgw5-GwpymUoe5VMeb-No9WWXpjWsq_8g4oeiGP5RnA/1110.png
Static Site Hosting
Static, HTML based web sites are another use for Arweave Manifests. Whether it is a custom developed site, leverages an easy to use template, or taken from an existing portal like WordPress, they can all be uploaded to ArDrive and tied together with an Arweave Manifest, and deployed as a website on the permaweb.
One example is the ArDrive.io Public Site, which is is hosted with Word Press.
The plugin https://www.simplystatic.co/ downloads all of the site assets; pages, images, CSS etc.
The assets and their folder structures get uploaded to ArDrive and once the files are mined and validated, an Arweave Manifest can be created at the root of the Drive. The manifest ties all of the site’s files and their transactions into a single Arweave transaction that loads a permanent version of the website.
See ArDrive's website assets in a public Drive:
A manifest is made of that Drive (dKA3lLa10okiDj5w7s502YHOzc_Pg-ZM3y8y0hQ8v8E) and is now a site on the permaweb.
NOTE: If you need to update your website, a new manifest is needed to capture changes to your website.
React App Hosting
React apps also work with manifests and can be permanently served from the Permaweb.
The ArDrive Price Calculator https://prices.ardrive.io is an example React app, that is hosted both centrally and on the decentralized PermaWeb.
The root manifest transaction has a default index
that corresponds to index.html
which has all of the references to the assets needed to load the ArDrive Price Calculator.
Assets can be loaded individually by adding their file name and path. For example
-
https://arweave.net/QMbW2XMKGvr7UgzV3tUxxnXTsCgRJRnCaEZC9Vxh9Yo/font.css
-
https://arweave.net/QMbW2XMKGvr7UgzV3tUxxnXTsCgRJRnCaEZC9Vxh9Yo/dist/index.js
-
https://arweave.net/QMbW2XMKGvr7UgzV3tUxxnXTsCgRJRnCaEZC9Vxh9Yo/dist/utils/index.js
All of the React assets are hosted out of a public drive, in a single folder called build
.
Need to change a file? Items in a manifest can be modified, like changing the name, uploading a new version or moving to a new folder. A new Arweave Manifest can be generated with the updated references.
Each version of the manifest is stored permanently, allowing web site and web app version control back to the first iteration ever published.
Raw Endpoint
To view all the paths of a manifest, use the `raw` endpoint followed by the manifest transaction ID:
Ready to start?
ArDrive is an easy way to create a manifest out of a Drive or Folder from the NEW button. Check out how to create an Arweave Manifest with ArDrive Web.
For a more advanced Manifest creation experience, like creating manifests out of Private ArDrive Data or totally customizing a manifest to use any Arweave Transaction ID or friendly name, visit our docs portal.
Comments
0 comments
Please sign in to leave a comment.