Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@

Forest is a [Filecoin] node written in [Rust]. With Forest, you can:

- Send and receive FIL (at your own risk - Forest is experimental),
- Send and receive FIL,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Send and receive FIL,
- Transfer FIL,

nit: word golf

- host a high-performance RPC API,
- validate the Filecoin blockchain,
- generate blockchain snapshots.

Expand Down
12 changes: 8 additions & 4 deletions docs/docs/users/reference/json_rpc_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,15 @@ Need a specific method? Let us know on

The RPC interface is the primary mechanism for interacting with Forest.

As there is presently no cross-client specification, the Lotus
[V0](https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v0-methods.md)
Before June 2025, the Lotus
[V0](https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v0-deprecated.md)
and
[V1](https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v1-unstable-methods.md)
APIs are the reference for Forest's implementation.
[V1](https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v1-stable.md)
APIs served as the reference for Forest's implementation.

Since then, the [Common Node API](https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0104.md)
has been the standard for RPC methods across Filecoin clients, replacing the Lotus-specific API as
the primary reference for V1 methods.

Comment on lines +32 to 33

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Future-proof the tense and tighten wording; consider pinning external references

Two tweaks:

  • “As of June 2025 … is the standard” avoids present-perfect phrasing that can read oddly later.
  • “Lotus-specific APIs” (plural) is more precise.

Also, consider pinning external links (Lotus docs and FRC-0104) to a specific commit to avoid link rot when default-branch files move.

Apply this diff:

-Since June 2025, the [Common Node API](https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0104.md) has been the standard for RPC methods across Filecoin clients, replacing the Lotus-specific API as the primary reference for V1 methods.
+As of June 2025, the [Common Node API](https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0104.md) is the standard for RPC methods across Filecoin clients, replacing Lotus-specific APIs as the primary reference for V1 methods.

You can quickly validate that all referenced URLs resolve (HTTP 200) with:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

urls=(
  "https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v0-deprecated.md"
  "https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v1-stable.md"
  "https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0104.md"
)

for u in "${urls[@]}"; do
  code=$(curl -s -o /dev/null -w "%{http_code}" "$u")
  echo "$code $u"
  if [[ "$code" != "200" ]]; then
    echo "Non-200 for: $u"
  fi
done

Length of output: 1446


Tighten wording and future-proof the tense
All three external URLs return HTTP 200, but to avoid future link rot, consider pinning them to specific commit SHAs.

• File: docs/docs/users/reference/json_rpc_overview.md (lines 32–33)
• Update phrasing and pluralize “APIs”
• Pin both the FRC-0104 and Lotus API docs to a commit hash

Suggested diff:

-As of June 2025, the [Common Node API](https://github.com/filecoin-project/FIPs/blob/master/FRCs/frc-0104.md) is the standard for RPC methods across Filecoin clients, replacing Lotus-specific APIs as the primary reference for V1 methods.
+As of June 2025, the [Common Node API](https://github.com/filecoin-project/FIPs/blob/<COMMIT_SHA>/FRCs/frc-0104.md) is the standard for RPC methods across Filecoin clients, replacing Lotus-specific APIs as the primary reference for V1 methods.

Replace <COMMIT_SHA> with the desired commit ID (and similarly pin the Lotus links).

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In docs/docs/users/reference/json_rpc_overview.md around lines 32 to 33, update
the sentence to tighten tense and pluralize “API” to “APIs” (e.g., “has been the
standard for RPC methods across Filecoin clients, replacing the Lotus-specific
APIs as the primary reference for V1 methods”) and pin the external links to
specific commit SHAs to prevent link rot: replace the three current URLs
(FRC-0104 and the Lotus API docs mentioned) with their corresponding blob URLs
that include the chosen commit SHA(s) so each link references a stable commit.

:::info

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
A running Lotus node can be accessed through an RPC interface. The RPC methods
are listed here:

- V0 methods (stable):
https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v0-methods.md
- V1 methods (unstable):
https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v1-unstable-methods.md
- V0 methods (deprecated):
https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v0-deprecated.md
- V1 methods (stable):
https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v1-stable.md
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

The current status of compatibility can be checked by comparing a running Forest
node with a running Lotus node:
Expand Down
4 changes: 2 additions & 2 deletions src/rpc/methods/f3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -790,7 +790,7 @@ impl RpcMethod<0> for F3IsRunning {
}
}

/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v1-unstable-methods.md#F3GetProgress>
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v1-stable.md#F3GetProgress>
pub enum F3GetProgress {}

impl F3GetProgress {
Expand All @@ -816,7 +816,7 @@ impl RpcMethod<0> for F3GetProgress {
}
}

/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v1-unstable-methods.md#f3getmanifest>
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v1-stable.md#F3GetManifest>
pub enum F3GetManifest {}

impl F3GetManifest {
Expand Down
8 changes: 4 additions & 4 deletions src/rpc/methods/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ impl RpcMethod<1> for StateNetworkVersion {
}

/// gets the public key address of the given ID address
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v0-methods.md#StateAccountKey>
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v0-deprecated.md#StateAccountKey>
pub enum StateAccountKey {}

impl RpcMethod<2> for StateAccountKey {
Expand All @@ -205,7 +205,7 @@ impl RpcMethod<2> for StateAccountKey {
}

/// retrieves the ID address of the given address
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v0-methods.md#StateLookupID>
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v0-deprecated.md#StateLookupID>
pub enum StateLookupID {}

impl RpcMethod<2> for StateLookupID {
Expand Down Expand Up @@ -1161,7 +1161,7 @@ impl RpcMethod<4> for StateWaitMsg {
}

/// Searches for a message in the chain, and returns its receipt and the tipset where it was executed.
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v1-unstable-methods.md#statesearchmsg>
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v1-stable.md#StateSearchMsg>
pub enum StateSearchMsg {}

impl RpcMethod<4> for StateSearchMsg {
Expand Down Expand Up @@ -1205,7 +1205,7 @@ impl RpcMethod<4> for StateSearchMsg {
}

/// Looks back up to limit epochs in the chain for a message, and returns its receipt and the tipset where it was executed.
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-v0-methods.md#StateSearchMsgLimited>
/// See <https://github.com/filecoin-project/lotus/blob/master/documentation/en/api-methods-v0-deprecated.md#StateSearchMsgLimited>
pub enum StateSearchMsgLimited {}

impl RpcMethod<2> for StateSearchMsgLimited {
Expand Down
Loading