diff --git a/docs/src/.vuepress/theme/configs/default_sidebar_config.js b/docs/src/.vuepress/theme/configs/default_sidebar_config.js
index 524b66c6..9c0dd2eb 100644
--- a/docs/src/.vuepress/theme/configs/default_sidebar_config.js
+++ b/docs/src/.vuepress/theme/configs/default_sidebar_config.js
@@ -74,7 +74,7 @@ module.exports = [
},
{
title: "Delegated Staking",
- path: "/gateways/ar-io-node/delegated-staking"
+ path: "/gateways/ar-io-node/delegated-staking",
},
{
title: "Environmental Variables",
@@ -104,6 +104,15 @@ module.exports = [
title: "Release Notes",
path: "/gateways/ar-io-node/release-notes",
},
+ {
+ title: "Experimental",
+ children: [
+ {
+ title: "Farcaster Frames",
+ path: "/gateways/ar-io-node/experimental/frames",
+ },
+ ],
+ },
],
},
// {
@@ -171,20 +180,20 @@ module.exports = [
},
{
title: "Delegated Staking",
- path: "/guides/delegated-staking"
+ path: "/guides/delegated-staking",
},
{
title: "Experimental",
children: [
{
title: "AO ArNS Resolver",
- path: "/experimental/ao-resolver"
+ path: "/experimental/ao-resolver",
},
{
title: "AO ANT",
- path: "/experimental/ao-ant"
+ path: "/experimental/ao-ant",
},
- ]
+ ],
},
// {
// title: "Contribute to Docs",
diff --git a/docs/src/gateways/ar-io-node/env.md b/docs/src/gateways/ar-io-node/env.md
index a68f6039..fced53ea 100644
--- a/docs/src/gateways/ar-io-node/env.md
+++ b/docs/src/gateways/ar-io-node/env.md
@@ -142,37 +142,37 @@ The AR.IO Gateway allows configuration customization through environmental varia
The public wallet address of the wallet being used to sign report upload transactions for Observer |
- CHUNKS_DATA_PATH |
+ CHUNKS_DATA_PATH |
string |
"data/chunks" |
Sets the location for chunked data to be saved. If omitted, chunked data will be stored in the `data` directory
- CONTIGUOUS_DATA_PATH |
+ CONTIGUOUS_DATA_PATH |
string |
"data/contiguous" |
Sets the location for contiguous data to be saved. If omitted, contiguous data will be stored in the `data` directory
- HEADERS_DATA_PATH |
+ HEADERS_DATA_PATH |
string |
"data/headers" |
Sets the location for header data to be saved. If omitted, header data will be stored in the `data` directory
- SQLITE_DATA_PATH |
+ SQLITE_DATA_PATH |
string |
"data/sqlite" |
Sets the location for sqlite indexed data to be saved. If omitted, sqlite data will be stored in the `data` directory
- TEMP_DATA_PATH |
+ TEMP_DATA_PATH |
string |
"data/tmp" |
Sets the location for temporary data to be saved. If omitted, temporary data will be stored in the `data` directory
- LMDB_DATA_PATH |
+ LMDB_DATA_PATH |
string |
"data/LMDB" |
Sets the location for LMDB data to be saved. If omitted, LMDB data will be stored in the `data` directory
@@ -213,5 +213,35 @@ The AR.IO Gateway allows configuration customization through environmental varia
true |
If true, Observer will submit its generated reports to the ar.io Network. If false, reports will be generated but not submitted |
+
+ REDIS_MAX_MEMORY |
+ String |
+ 256mb |
+ Sets the max memory allocated to Redis |
+
+
+ REDIS_EXTRA_FLAGS |
+ String |
+ --save "" --appendonly no |
+ Additional CLI flags passed to Redis |
+
+
+ WEBHOOK_TARGET_SERVERS |
+ String |
+ undefined |
+ Target servers for webhooks |
+
+
+ WEBHOOK_INDEX_FILTER |
+ String |
+ {"never": true} |
+ Only emit webhooks for transactions and data items compliant with this filter |
+
+
+ CONTIGUOUS_DATA_CACHE_CLEANUP_THRESHOLD |
+ Number |
+ undefined |
+ Sets the age threshold in sends; files older than this are candidates for contiguous data cache cleanup |
+
\ No newline at end of file
diff --git a/docs/src/gateways/ar-io-node/experimental/frames.md b/docs/src/gateways/ar-io-node/experimental/frames.md
new file mode 100644
index 00000000..c3914760
--- /dev/null
+++ b/docs/src/gateways/ar-io-node/experimental/frames.md
@@ -0,0 +1,17 @@
+---
+permalink: '/experimental/frames'
+---
+
+# Farcaster Frames
+
+## Overview
+
+[Frames by Farcaster](https://docs.farcaster.xyz/learn/what-is-farcaster/frames) is a standard for apps built with [OpenGraph](https://ogp.me/) that allows them to be interactive and easily authenticated. Because the standard relies on HTML Meta tags, they can easily be integrated into dApps hosted permanently on Arweave. Until recently, the full capabilities of Frames hosted on Arweave were not accessible through ar.io gateways. This is because a specific type of interaction between the frame and the hosting server, a `POST`, is needed to facilitate interactivity, and ar.io gateways did not support this interaction type.
+
+## Experimental Gateway Support
+
+With [Release 9](../release-notes.md#release-9---2024-04-10) of the ar.io gateways, a new experimental endpoint was added that supports the `POST` requests needed by frames. The `/local` endpoint on a gateway is used to facilitate experimental new features, as well as features which may be specific to an individual gateway. Operators and users should be fully aware that all endpoints stemming from `/local` are experimental, and may not always perform exactly as expected.
+
+### Frames
+
+The full path for accessing a frame hosted on Arweave is `/local/farcaster/frame/` where `` represents any ar.io gateway using release 9 or higher, and `` represents the txId of the frame on Arweave.
\ No newline at end of file
diff --git a/docs/src/gateways/ar-io-node/release-notes.md b/docs/src/gateways/ar-io-node/release-notes.md
index fd5fde40..bc9f7b81 100644
--- a/docs/src/gateways/ar-io-node/release-notes.md
+++ b/docs/src/gateways/ar-io-node/release-notes.md
@@ -8,6 +8,14 @@ next: false
Welcome to the documentation page for the ar.io gateway release notes. Here, you will find detailed information about each version of the ar.io gateway, including the enhancements, bug fixes, and any other changes introduced in every release. This page serves as a comprehensive resource to keep you informed about the latest developments and updates in the ar.io gateway. For those interested in exploring the source code, each release's code is readily accessible at our GitHub repository: ar.io gateway [change logs](https://github.com/ar-io/ar-io-node/blob/main/CHANGELOG.md). Stay updated with the continuous improvements and advancements in the ar.io gateway by referring to this page for all release-related information.
+## [Release 9] - 2024-04-10
+
+- **Added**
+ - Added experimental Farcaster Frames support, enabling simple Arweave based Frames with button navigation. Transaction and data item data is now served under `/local/farcaster/frame/`. `/local` is used as a prefix to indicate this functionality is both experimental and local to a particular gateway rather than part of the global gateway API. Both GET and POST requests are supported.
+ - Added an experimental local ArNS resolver. When enabled it removes dependence on arweave.net for ArNS resolution! Enable it by setting `RUN_RESOLVER=TRUE`, `TRUSTED_ARNS_RESOLVER_TYPE=resolver`, and `TRUSTED_ARNS_RESOLVER_URL=http://resolver:6000` in your `.env` file.
+ - Added an `X-Cached` header to data responses to indicate when data is served from the local cache rather than being retrieved from an external source. This is helpful for interfacing with external systems, debugging, and end-to-end testing.
+ - Save hashes for unbundled data items during indexing. This enables reduction in data storage via hash based deduplication as well as more efficient peer-to-peer data retrieval in the future.
+
## [Release 8] - 2024-03-14
- **Added**