Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
8a80b34
docs(ia): move content into updated top-level sections
snissn Apr 10, 2026
72a4c4e
docs(legacy): consolidate archived and retired content
snissn Apr 10, 2026
f0e52c1
docs(onboarding): add new getting-started and upload guidance
snissn Apr 10, 2026
e5fed9a
docs(terms): align terminology and section names
snissn Apr 10, 2026
3cc223b
docs(nav): update summary and redirects for the new IA
snissn Apr 10, 2026
9b7b53a
docs(cleanup): apply final link, wording, and formatting fixes
snissn Apr 10, 2026
dfe3ee8
update Safe 404 to correct article, remove invalid https://calc.filec…
snissn Apr 15, 2026
bc2f2d3
docs: Standardize TOC pages, author FOC overview, and refine storage …
nijoe1 Apr 16, 2026
67f5b61
Add GitBook documentation guide and fix IPLD link in ways-to-contribute
nijoe1 Apr 16, 2026
e64d2fb
fix broken link
snissn Apr 16, 2026
7382e78
docs(pdp): update pdp install
beck-8 Apr 17, 2026
b0a9e02
docs(cookbook): restore filecoin-pin documentation to the builder coo…
nijoe1 Apr 20, 2026
203ff74
docs(cookbook): wire up filecoin-pin nav and replace external docs.fi…
nijoe1 Apr 20, 2026
117460b
chore(docs): book.json improvs
nijoe1 Apr 20, 2026
aac4706
Merge pull request #63 from FIL-Builders/docs/tooling-and-filecoin-pi…
snissn Apr 20, 2026
d44c4b5
docs: refresh Filecoin Pin landing page and add Getting Started guide
May 7, 2026
82cb36f
docs: remove old Filecoin Pin CLI page; add inspect-proofs section
May 7, 2026
1a414d4
docs(filecoin-pin): mainnet GA updates and PR review feedback (#2461)
BigLep May 8, 2026
3c03b1e
docs: standardize tFIL casing
snissn May 12, 2026
ff8c0ec
docs: fix USDFC faucet link
snissn May 12, 2026
a6fa81d
docs: fix Calibration faucet hostname text
snissn May 12, 2026
e2dcb62
docs: link Calibration DataCap faucet directly
snissn May 12, 2026
c22bee8
docs: fix local testnet wallet command typo
snissn May 12, 2026
2c7d86f
Update Filecoin.sol API docs
snissn May 12, 2026
6420e16
Update RPC guidance
snissn May 13, 2026
ccd4cda
Merge pull request #64 from FIL-Builders/ger-635-rpc-guidance
snissn May 13, 2026
163955d
Resolve Filecoin Pin merge conflicts
snissn May 13, 2026
bceff74
Fix stale docs links for link checker
snissn May 13, 2026
ca784f5
Address AI review notes
snissn May 15, 2026
7bfa15e
Merge fix-main-link-check into docs IA refresh
snissn May 15, 2026
b5a8f97
Remove paid Graphsync retrieval guidance
snissn May 15, 2026
7b0ef1c
update version
beck-8 May 25, 2026
e602f98
Merge pull request #2458 from beck-8/docs/pdp-install-updates
TippyFlitsUK May 26, 2026
07bc2ad
docs(build): refresh advanced examples
snissn Jun 1, 2026
d9f9e93
docs(build): refresh framework verification examples
snissn Jun 1, 2026
c2e04d7
docs(build): refresh filecoin solidity examples
snissn Jun 1, 2026
c49ca59
docs(build): label indexer example blocks
snissn Jun 1, 2026
223f7db
docs: address framework review notes
snissn Jun 2, 2026
531bff2
docs: address Filecoin.sol review notes
snissn Jun 2, 2026
7650d5f
docs: address advanced review notes
snissn Jun 2, 2026
cdf4800
docs(pdp): remove alpha feature warnings from PDP section
Jun 2, 2026
eb8d15c
Merge pull request #69 from FIL-Builders/ger-639-framework-verification
snissn Jun 3, 2026
34b6eac
Merge pull request #70 from FIL-Builders/ger-639-filecoinsol-builtins
snissn Jun 3, 2026
41e4d14
Merge pull request #71 from FIL-Builders/ger-639-advanced-examples
snissn Jun 3, 2026
0e57a10
Merge pull request #2465 from TippyFlitsUK/update-pdp-alpha-alerts
TippyFlitsUK Jun 3, 2026
04a2557
Merge branch 'main' into upstream/docs-ia-refresh
nijoe1 Jun 4, 2026
7a39e0e
docs(storage): refresh store and retrieval examples (#76)
snissn Jun 4, 2026
1e6a29e
docs: address review feedback from #2457 (#77)
nijoe1 Jun 4, 2026
03294d9
docs: structural-updates from Adrian's feedback (#78)
nijoe1 Jun 4, 2026
cd34a70
chore(docs): fix remaining broken redirects
nijoe1 Jun 4, 2026
b086e4f
docs: add Filecoin Onchain Cloud subsection
snissn Jun 5, 2026
bd1dab3
docs: clarify FOC quickstart network selection
snissn Jun 6, 2026
672f12b
docs: note Synapse quickstart module format
snissn Jun 8, 2026
407ce82
docs: guard Synapse private key example
snissn Jun 8, 2026
36549b7
docs: show Synapse mainnet selection
snissn Jun 8, 2026
35879fa
docs: state FOC minimum upload size
snissn Jun 8, 2026
553144c
docs: mention Beam retrieval option
snissn Jun 8, 2026
5e269b5
docs: clarify browser mainnet Synapse setup
snissn Jun 8, 2026
d117ad1
Merge pull request #79 from FIL-Builders/ger-1007-foc-subsection
snissn Jun 8, 2026
52c3d83
docs: remove dead advanced resource links
snissn Jun 8, 2026
fb9b0b4
docs: remove stale PDP alpha warnings
snissn Jun 10, 2026
3558fcf
docs: add upload-to-filecoin redirect
snissn Jun 10, 2026
84ae5cd
docs: fix current link checker URLs
snissn Jun 10, 2026
49cd06b
docs: complete homepage description
snissn Jun 10, 2026
20b2708
docs: point Synapse quickstart to FOC docs
snissn Jun 10, 2026
329ac27
docs: fix stale feedback URLs
snissn Jun 10, 2026
ad2aff3
docs: fix proofs page self-links
snissn Jun 10, 2026
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
821 changes: 506 additions & 315 deletions .gitbook.yaml

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions .github/workflows/check-rpcs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Check RPC endpoints

on:
schedule:
# Run every Monday at 06:17 UTC
- cron: '17 6 * * 1'
workflow_dispatch:

jobs:
check-rpcs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install dependencies
run: npm ci

- name: Check RPC endpoints
run: npm run check:rpcs
281 changes: 134 additions & 147 deletions SUMMARY.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions WELCOME.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: >-
Filecoin is a decentralized, peer-to-peer network enabling anyone to store and
retrieve data over the internet. Economic incentives are built in, ensuring
files are stored and accessible reliably over
files are stored and accessible reliably over time.
cover: .gitbook/assets/FilecoinDocs.png
coverY: 0
layout:
Expand All @@ -25,6 +25,6 @@ layout:

Choose your own path to start exploring Filecoin:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>💡 <strong>Learn the basics</strong></td><td>New to Filecoin and looking for foundational concepts? Start with the Basics section to understand the essentials and kick off your journey!</td><td></td><td><a href="basics/what-is-filecoin/">what-is-filecoin</a></td></tr><tr><td>🔧 <strong>Build with Filecoin</strong></td><td>Ready to develop on the Filecoin network? Head to the Developers section for guides and examples to help bring your project to life.</td><td></td><td><a href="smart-contracts/fundamentals/the-fvm.md">the-fvm.md</a></td></tr><tr><td>🏗️ <strong>Become a Storage Provider</strong></td><td>Thinking about running a provider node on Filecoin? Visit the Provider section for comprehensive guidance on getting started.</td><td></td><td><a href="storage-providers/basics/">basics</a></td></tr><tr><td>📊 <strong>Store data</strong></td><td>Looking to store large volumes of data? Explore the Store section to review the various storage options Filecoin offers.</td><td></td><td><a href="basics/what-is-filecoin/storage-model.md">storage-model.md</a></td></tr></tbody></table>
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>💡 <strong>Get started</strong></td><td>New to Filecoin and looking for foundational concepts? Start with the Getting Started section to understand the essentials and kick off your journey!</td><td></td><td><a href="getting-started/what-is-filecoin/">what-is-filecoin</a></td></tr><tr><td>🔧 <strong>Build on Filecoin</strong></td><td>Ready to develop on the Filecoin network? Head to the Build on Filecoin section for smart contracts, storage integrations, and Filecoin Onchain Cloud.</td><td></td><td><a href="build/getting-started.md">getting-started.md</a></td></tr><tr><td>☁️ <strong>Filecoin Onchain Cloud</strong></td><td>Store and retrieve application data with verifiable storage, automated payments, and the Synapse SDK.</td><td></td><td><a href="build/filecoin-onchain-cloud/">filecoin-onchain-cloud</a></td></tr><tr><td>🏗️ <strong>Provide storage</strong></td><td>Thinking about running a provider node on Filecoin? Visit the Provide Storage section for comprehensive guidance on getting started.</td><td></td><td><a href="storage-providers/getting-started.md">getting-started.md</a></td></tr><tr><td>📊 <strong>Store data</strong></td><td>Looking to store large volumes of data? See how storage works to review the various storage options Filecoin offers.</td><td></td><td><a href="getting-started/how-storage-works/upload-to-filecoin.md">upload-to-filecoin.md</a></td></tr></tbody></table>

[Was this page helpful?](https://airtable.com/apppq4inOe4gmSSlk/pagoZHC2i1iqgphgl/form?prefill_Page+URL=https://docs.filecoin.io/)
9 changes: 0 additions & 9 deletions basics/assets/README.md

This file was deleted.

9 changes: 0 additions & 9 deletions basics/how-retrieval-works/README.md

This file was deleted.

23 changes: 0 additions & 23 deletions basics/how-retrieval-works/saturn.md

This file was deleted.

11 changes: 0 additions & 11 deletions basics/how-storage-works/README.md

This file was deleted.

20 changes: 0 additions & 20 deletions basics/how-storage-works/storage-onramps.md

This file was deleted.

9 changes: 0 additions & 9 deletions basics/project-and-community/README.md

This file was deleted.

7 changes: 0 additions & 7 deletions basics/the-blockchain/README.md

This file was deleted.

2 changes: 1 addition & 1 deletion book.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"structure": {
"readme": "WELCOME.md"
},
"plugins": ["filecoin", "-highlight"]
"plugins": ["filecoin", "-highlight", "-search", "-lunr"]
}
24 changes: 24 additions & 0 deletions build/advanced/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
description: >-
Advanced tools and integrations for smart contract developers building on Filecoin.
---

# Advanced

This section covers advanced integrations and services available to smart contract developers on Filecoin, including bridges, oracles, databases, and automation tools. For programmable storage, retrieval, and payments, start with [Filecoin Onchain Cloud](../filecoin-onchain-cloud/README.md).

## Table of contents

* [Wrapped FIL](wrapped-fil.md) — ERC-20 token that bridges native FIL to other blockchains
* [Oracles](oracles.md) — connect smart contracts to external data sources
* [Multicall](multicall.md) — batch multiple contract calls into a single transaction
* [Multisig](multisig.md) — wallets that require multiple signatures for transactions
* [FEVM indexers](fevm-indexers.md) — query Filecoin chain data without running an archival node
* [Cross-chain bridges](cross-chain-bridges.md) — transfer assets between Filecoin and other networks
* [Contract automation](contract-automation.md) — trigger smart contract actions based on off-chain events
* [Relay](relay.md) — meta-transactions that let users interact without paying gas
* [Decentralized databases](decentralized-databases.md) — store application data using Tableland on Filecoin
* [Privacy and access control](privacy-and-access-control.md) — tools for managing data access and privacy
* [Interplanetary consensus](../../getting-started/interplanetary-consensus.md) — scalable consensus for cross-chain communication

[Was this page helpful?](https://airtable.com/apppq4inOe4gmSSlk/pagoZHC2i1iqgphgl/form?prefill\_Page+URL=https://docs.filecoin.io/build/advanced)
Original file line number Diff line number Diff line change
Expand Up @@ -50,38 +50,54 @@ For security reasons, during task creation, you will see an address that acts as

## Quick Start

### Writing & Deploying Typescript Functions
### Writing and deploying TypeScript functions

1. Clone the hardhat-template repo
1. Clone Gelato's maintained Web3 Functions template:

```shell
git clone web3-functions-hardhat-template
```bash
git clone https://github.com/gelatodigital/web3-functions-template.git
```

2. CD into the folder and install
2. Change into the template directory and install dependencies:

```shell
cd web3-functions-hardhat-template && yarn install
```bash
cd web3-functions-template && yarn install
```

3. Update the `index.ts` in one of the examples
3. Update `index.ts` in one of the examples.

The following TypeScript block is a skeleton only. It shows the shape of a Gelato Web3 Function that checks whether an oracle should be updated, then returns encoded call data. Replace the oracle ABI, input arguments, and off-chain data lookup with your application's logic. For maintained end-to-end examples, use the [Gelato Web3 Functions template](https://github.com/gelatodigital/web3-functions-template) and the [Gelato TypeScript Functions guide](https://docs.gelato.cloud/web3-functions/how-to-guides/write-typescript-functions/getting-started).

```typescript
import { Web3Function, Web3FunctionContext } from "@gelatonetwork/web3-functions-sdk";
import { Contract } from "@ethersproject/contracts";

const ORACLE_ABI = [
"function lastUpdated() external view returns (uint256)",
"function updatePrice(uint256)",
];

Web3Function.onRun(async (context: Web3FunctionContext) => {
const { userArgs, multiChainProvider } = context;

const provider = multiChainProvider.default();
// Retrieve Last oracle update time

const oracleAddress =
(userArgs.oracle as string) ?? "0x71B9B0F6C999CBbB0FeF9c92B80D54e4973214da";
const oracle = new Contract(oracleAddress, ORACLE_ABI, provider);

const lastUpdated = Number(await oracle.lastUpdated());
const latestBlock = await provider.getBlock("latest");
const nextUpdateTime = lastUpdated + 300;

// YOUR CUSTOM LOGIC
.....
if (!latestBlock || latestBlock.timestamp < nextUpdateTime) {
return { canExec: false, message: "Time not elapsed" };
}

// Return if nothing has to be pushed on-chain
return { canExec: false, message: `Coingecko call failed` };
const price = Number(userArgs.price ?? 0);
if (!Number.isFinite(price) || price <= 0) {
return { canExec: false, message: "No valid price supplied" };
}

// Return if tx has to be pushed on-chain
return {
canExec: true,
callData: [
Expand All @@ -94,31 +110,26 @@ Web3Function.onRun(async (context: Web3FunctionContext) => {
});
```

4. Deploy the Web3 Function to IPFS and create the Task
4. Test and deploy the Web3 Function to IPFS:

```shell
```bash
npx w3f test web3-functions/YOUR-FUNCTION/index.ts --logs
npx w3f deploy web3-functions/YOUR-FUNCTION/index.ts
```

Result:

```shell
$ npx w3f deploy web3-functions/YOUR-FUNCTION/index.ts
✓ Web3Function deployed to ipfs.
✓ CID: QmYMysfAhYYYrdhVytSTiE9phuoT49kMByktXSbVp1aRPx
Example output:

To create a task that runs your Web3 Function every minute, visit:
> https://beta.app.gelato.network/new-task?cid=QmYMysfAhYYYrdhVytSTiE9phuoT49kMByktXSbVp1aRPx
✨ Done in 3.56s.
```text
✓ Web3Function deployed to IPFS.
✓ CID: <ipfs-cid>
```

Finally, go to the [Gelato App](https://app.gelato.network), create a new task, decide on the trigger, and input the CID.
Finally, go to the [Gelato App](https://app.gelato.cloud), create a new task, decide on the trigger, and input the CID.

For a detailed guide on creating and deploying Web3 Functions, including setting up your development environment, triggers, and security configurations, refer to the full developer guide [here](https://docs.gelato.network/web3-services/web3-functions/quick-start/writing-typescript-functions).
For a detailed guide on creating and deploying Web3 Functions, including setting up your development environment, triggers, and security configurations, see the [Gelato Web3 Functions docs](https://docs.gelato.cloud/web3-functions/how-to-guides/write-typescript-functions/getting-started).

#### **Further Resources**

* [Gelato Web3 Functions Docs](https://docs.gelato.network/web3-services/web3-functions)
* [What is 1Balance?](https://docs.gelato.network/web3-services/1balance)
* [Github Repository](https://github.com/gelatodigital/how-tos-3-w3f-triggers)
* [YouTube - How to write Event driven Web3 Functions](https://www.youtube.com/watch?v=7UpqGsANsBQ\&ab_channel=JavierDonoso)
* [Gelato Web3 Functions Docs](https://docs.gelato.cloud/web3-functions/how-to-guides/write-typescript-functions/getting-started)
* [Gelato Web3 Functions template](https://github.com/gelatodigital/web3-functions-template)
* [Gelato Web3 Functions examples](https://github.com/gelatodigital/how-tos-3-w3f-triggers)
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ Celar’s CBridge supports both Filecoin Mainnet and Calibration testnet.



[Was this page helpful?](https://airtable.com/apppq4inOe4gmSSlk/pagoZHC2i1iqgphgl/form?prefill\_Page+URL=https://docs.filecoin.io/smart-contracts/advanced/cross-chain-bridges)
[Was this page helpful?](https://airtable.com/apppq4inOe4gmSSlk/pagoZHC2i1iqgphgl/form?prefill\_Page+URL=https://docs.filecoin.io/build/advanced/cross-chain-bridges)
Loading