Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/rpc/transaction/broadcast-tx-commit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ import FastnearDirectOperation from '@site/src/components/FastnearDirectOperatio

`broadcast_tx_commit` request type

Use a freshly signed base64 transaction for each request. This legacy synchronous send is still documented, but `send_tx` is the preferred path for new integrations, and the sample payload is illustrative only.

<FastnearDirectOperation pageModelId="rpc-broadcast-tx-commit" renderDescription />
1 change: 1 addition & 0 deletions docs/rpc/transaction/send-tx.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ import FastnearDirectOperation from '@site/src/components/FastnearDirectOperatio

`send_tx` request type

Use a freshly signed base64 transaction for each request. The sample payload shown in the interactive docs is illustrative only and will fail if you paste it unchanged.

<FastnearDirectOperation pageModelId="rpc-send-tx" renderDescription />
60 changes: 29 additions & 31 deletions docs/snapshots/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
sidebar_position: 2
slug: /snapshots
title: Validator snapshots
description: Snapshot download paths for FastNear-backed NEAR node bootstrap and recovery workflows.
description: Current FastNear snapshot status and operator guidance for NEAR node bootstrap and archival snapshot requests.
sidebar_label: Snapshots Overview
displayed_sidebar: snapshotsSidebars
keywords:
Expand All @@ -21,53 +21,51 @@ import SimpleButton from '@site/src/components/SimpleButton';
This section is for node operators who are bootstrapping or recovering NEAR infrastructure. It is not an application-data surface. If the job is reading balances, history, blocks, or contract state, use the API and RPC docs instead of snapshot workflows.

:::warning[Free snapshots are deprecated]
The free nearcore data snapshots have been deprecated.
The free nearcore data snapshots were deprecated on June 1, 2025.

The NEAR Infrastructure Committee and Near One recommend Epoch Sync plus decentralized state sync. Use <Link to="https://near-nodes.io">NEAR Nodes</Link> for the current operator guidance and recommended bootstrap posture.
:::

## Use this section when
## Current status

- you need to bootstrap a mainnet or testnet node from snapshot data
- you are recovering an RPC or archival node
- you already know you want the FastNear snapshot download path
- FastNear does not currently publish a working public self-serve snapshot download flow from this docs site.
- For regular RPC nodes and validators, follow <Link to="https://near-nodes.io">NEAR Nodes</Link> and use the current Epoch Sync plus decentralized state sync guidance.
- For archival snapshot access, visit <Link to="https://fastnear.com/snapshots">fastnear.com/snapshots</Link> or email <Link to="mailto:snapshots@fastnear.com">snapshots@fastnear.com</Link>.
- The legacy scripts in <Link to="https://github.com/fastnear/static">fastnear/static</Link> still exist, but the old public `latest.txt` discovery flow is no longer the supported public path here.

## Do not use this section when
## Useful operator references

- you are trying to query chain data for an application
- you need recent blocks, balances, history, or contract state
- you are looking for general product API guidance rather than operator setup
- [NEAR Nodes: Epoch Sync](https://near-nodes.io/intro/node-epoch-sync) for the current boot-node refresh step before first start.
- [NEAR Nodes: State Sync](https://near-nodes.io/rpc/state-sync) for the current non-snapshot bootstrap recommendation.
- [NEAR Nodes: Run an Archival Node](https://near-nodes.io/archival/run-archival-node) for archival node configuration and data-directory expectations.
- [NEAR Nodes: Split Storage for NEAR Archival Nodes](https://near-nodes.io/archival/split-storage-archival) if you are planning hot/cold storage for modern archival setups.

In those cases, use [RPC Reference](/rpc), [FastNear API](/api), [Transactions API](/tx), or [NEAR Data API](/neardata).

## Before you download
## What to have ready before you request archival access

- Choose the network first: mainnet or testnet.
- Decide whether you need regular RPC data or archival data.
- Make sure you understand where hot and cold data must live before starting an archival download.
- Install `rclone`, because the download scripts depend on it.
- the network: `mainnet` or `testnet`
- the node role: validator, RPC node, or archival node
- whether you expect a single `~/.near/data` restore or a split hot/cold layout
- the target `NEAR_HOME` path and the storage layout you plan to use
- any time sensitivity, bandwidth constraints, or recovery deadline that affects the transfer plan

:::info[Getting `rclone`]
Install `rclone` with:

```bash
sudo -v ; curl https://rclone.org/install.sh | sudo bash
```
:::

## What each path covers
## Use this section when

- **Mainnet** includes optimized `fast-rpc`, standard RPC, and archival hot/cold download paths.
- **Testnet** includes RPC and archival snapshot paths for testnet operators.
- you are confirming the current FastNear snapshot posture for mainnet or testnet
- you need the right request path for archival snapshot access
- you are deciding whether to use snapshots or the standard NEAR node bootstrap guidance

See <Link to="https://github.com/near/nearcore?tab=readme-ov-file#about-near">nearcore</Link> for node requirements, and <Link to="https://github.com/fastnear/static">fastnear/static</Link> for the snapshot download script source used by these guides.
## Do not use this section when

## Need a workflow?
- you are trying to query chain data for an application
- you need recent blocks, balances, history, or contract state
- you are looking for general product API guidance rather than operator setup

Use [Snapshot Examples](/snapshots/examples) for worked operator examples like choosing between optimized `fast-rpc`, standard RPC recovery, and archival hot/cold snapshot paths.
In those cases, use [RPC Reference](/rpc), [FastNear API](/api), [Transactions API](/tx), or [NEAR Data API](/neardata).

## Choose a network

Use the network pages below for the current status and escalation path. They no longer assume a public self-serve download URL.

<div style={{display: 'flex', flexWrap: 'wrap', gap: '1rem', margin: '2rem 0'}}>
<SimpleButton to="/snapshots/mainnet">Mainnet Snapshots</SimpleButton>
<SimpleButton to="/snapshots/testnet">Testnet Snapshots</SimpleButton>
Expand Down
136 changes: 24 additions & 112 deletions docs/snapshots/mainnet.mdx
Original file line number Diff line number Diff line change
@@ -1,134 +1,46 @@
---
sidebar_label: Mainnet
slug: /snapshots/mainnet
description: Download mainnet RPC and archival snapshots for FastNear-backed NEAR infrastructure bootstrapping.
description: Current FastNear mainnet snapshot posture for RPC bootstrap and archival snapshot requests.
---

# Mainnet

## Optimized Mainnet Snapshot
FastNear no longer documents a public self-serve mainnet snapshot download flow here.

This is likely the preferred approach for syncing, as opposed to downloading an archival snapshot, which is significantly larger and more special-purpose.

Nodes with sufficient resources can take advantage of setting the `$RPC_TYPE` flag to `fast-rpc`. (Default is `rpc`)

Before running the snapshot download script, you can set the following environment variables:

- `CHAIN_ID` to either `mainnet` or `testnet`. (default: `mainnet`)
- `RPC_TYPE` to either `rpc` (default) or `fast-rpc`
- `THREADS` to the number of threads you want to use for downloading. Use `128` for 10Gbps, and `16` for 1Gbps (default: `128`).
- `TPSLIMIT` to the maximum number of HTTP new actions per second. (default: `4096`)
- `BWLIMIT` to the maximum bandwidth to use for download in case you want to limit it. (default: `10G`)
- `DATA_PATH` to the path where you want to download the snapshot (default: `~/.near/data`)
- `BLOCK` to the block height of the snapshot you want to download. If not set, it will download the latest snapshot.

**Run this command to download the RPC Mainnet snapshot:**

:::info
We will set the following environment variables:
- `DATA_PATH=~/.near/data` - the standard nearcore path
- `CHAIN_ID=mainnet` - to explicitly specify the mainnet data
- `RPC_TYPE=fast-rpc` - select optimized approach
:::

`RPC Mainnet Snapshot » ~/.near/data`:

```bash
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone.sh | DATA_PATH=~/.near/data CHAIN_ID=mainnet RPC_TYPE=fast-rpc bash
```

## RPC Mainnet Snapshot

This is the standard method to obtain a snapshot without the high performance from the previous section covering optimized snapshots.

Before running the snapshot download script, you can set the following environment variables:

- `CHAIN_ID` to either `mainnet` or `testnet`. (default: `mainnet`)
- `RPC_TYPE` to either `rpc` (default) or `fast-rpc`
- `THREADS` to the number of threads you want to use for downloading. Use `128` for 10Gbps, and `16` for 1Gbps (default: `128`).
- `TPSLIMIT` to the maximum number of HTTP new actions per second. (default: `4096`)
- `BWLIMIT` to the maximum bandwidth to use for download in case you want to limit it. (default: `10G`)
- `DATA_PATH` to the path where you want to download the snapshot (default: `~/.near/data`)
- `BLOCK` to the block height of the snapshot you want to download. If not set, it will download the latest snapshot.

**Run this command to download the RPC Mainnet snapshot:**

:::info
We will set the following environment variables:
- `DATA_PATH=~/.near/data` - the standard nearcore path
- `CHAIN_ID=mainnet` - to explicitly specify the mainnet data
:::warning[Free snapshots are deprecated]
The free nearcore data snapshots were deprecated on June 1, 2025.
:::

`RPC Mainnet Snapshot » ~/.near/data`:

```bash
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone.sh | DATA_PATH=~/.near/data CHAIN_ID=mainnet bash
```

## Archival Mainnet snapshot

:::warning
**Time and storage intensive.**

Be prepared for a large download and the inherent time constraints involved.

The snapshot size is ~60Tb and contains more than 1M files.
:::
## For regular RPC nodes and validators

Before running the download script, you can set the following environment variables:
Use [NEAR Nodes](https://near-nodes.io) for the current bootstrap guidance based on Epoch Sync plus decentralized state sync. That is the public recommendation for normal mainnet node bring-up and recovery.

- `CHAIN_ID` to either `mainnet` or `testnet`. (default: `mainnet`)
- `THREADS` to the number of threads you want to use for downloading. Use `128` for 10Gbps, and `16` for 1Gbps (default: `128`).
- `TPSLIMIT` to the maximum number of HTTP new actions per second. (default: `4096`)
- `DATA_TYPE` to either `hot-data` or `cold-data` (default: `cold-data`)
- `BWLIMIT` to the maximum bandwidth to use for download in case you want to limit it. (default: `10G`)
- `DATA_PATH` to the path where you want to download the snapshot (default: `/mnt/nvme/data/$DATA_TYPE`)
- `BLOCK` to the block height of the snapshot you want to download. If not set, it will download the latest snapshot.
Before the first `neard run`, refresh `network.boot_nodes` with the current command from [NEAR Nodes: Epoch Sync](https://near-nodes.io/intro/node-epoch-sync). A freshly downloaded `config.json` can still leave `boot_nodes` empty, which can leave the node stuck at `Waiting for peers 0 peers`.

By default, the script assumes the paths for the data:
- Hot data (has to be on NVME): `/mnt/nvme/data/hot-data`
- Cold data (can be on HDDs): `/mnt/nvme/data/cold-data`
## For archival mainnet snapshots

Archival snapshot access is request-based. Start from [fastnear.com/snapshots](https://fastnear.com/snapshots) or email [snapshots@fastnear.com](mailto:snapshots@fastnear.com) to get the current availability, block height, and storage expectations.

**Run the following commands to download the Archival Mainnet snapshot:**
## About the legacy scripts

1. Download the latest snapshot block height:
The [fastnear/static](https://github.com/fastnear/static) repository still contains the historical `down_rclone.sh` and `down_rclone_archival.sh` scripts. These docs no longer publish copy-paste commands for them because the old public `latest.txt` discovery URLs now redirect to the snapshots info page and are not a supported public workflow.

`Latest archival mainnet snapshot block`:
If FastNear support gives you a current block height and a supported download path, use the exact host, block, and storage layout they provide instead of the retired public examples.

```bash
LATEST=$(curl -s "https://snapshot.neardata.xyz/mainnet/archival/latest.txt")
echo "Latest snapshot block: $LATEST"
```
## If you are preparing for an archival request

2. Download the HOT data from the snapshot. It has to be placed on NVME.
- Be ready to separate hot and cold data if the snapshot package requires it.
- Confirm your storage layout with nearcore before you start the transfer.
- Install `rclone` only if the support flow you receive actually depends on it.

:::info
We will set the following environment variables:
- `DATA_TYPE=hot-data` - downloads the Hot data
- `DATA_PATH=~/.near/data` - the standard nearcore path
- `CHAIN_ID=mainnet` - to explicitly specify the mainnet data
- `BLOCK=$LATEST` - specify the snapshot block
:::

`Archival Mainnet Snapshot (hot-data) » ~/.near/data`:

```bash
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone_archival.sh | DATA_TYPE=hot-data DATA_PATH=~/.near/data CHAIN_ID=mainnet BLOCK=$LATEST bash
```

3. Download the COLD data from the snapshot. It can be placed on HDDs.

:::info
We will set the following environment variables:
- `DATA_TYPE=cold-data` - downloads the Hot data
- `DATA_PATH=/mnt/hdds/cold-data` - the path where to place cold data. **Note**: the nearcore config should point cold data store to the same path.
- `CHAIN_ID=mainnet` - to explicitly specify the mainnet data
- `BLOCK=$LATEST` - specify the snapshot block
:::
## If FastNear provides a snapshot package

`Archival Mainnet Snapshot (cold-data) » /mnt/hdds/cold-data`:
1. Stop `neard` before you replace any snapshot data or edit archival storage settings.
2. Confirm whether the package is meant for `~/.near/data` or for split `hot-data` and `cold-data` paths.
3. Verify that your `config.json` matches the intended archival mode before restart.
For archival nodes, NEAR Nodes documents `archive: true` and `tracked_shards: [0]` as critical settings.
4. If the package uses split storage, make sure your configured store paths match the delivered hot/cold layout before you start the node again.
5. Restart the node and verify that it starts cleanly and resumes syncing instead of silently serving stale local state.

```bash
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/fastnear/static/refs/heads/main/down_rclone_archival.sh | DATA_TYPE=cold-data DATA_PATH=/mnt/hdds/cold-data CHAIN_ID=mainnet BLOCK=$LATEST bash
```
For nearcore storage expectations and operator prerequisites, see [nearcore](https://github.com/near/nearcore?tab=readme-ov-file#about-near).
Loading
Loading