diff --git a/.github/workflows/playwright.yml b/.github/workflows/guides.yml
similarity index 71%
rename from .github/workflows/playwright.yml
rename to .github/workflows/guides.yml
index 6442311dc..9deead06b 100644
--- a/.github/workflows/playwright.yml
+++ b/.github/workflows/guides.yml
@@ -1,9 +1,39 @@
-name: Playwright Tests
+name: Guides
on:
pull_request:
jobs:
+ ## SPELL CHECK ALL GUIDES
+ spell-check:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v3
+ - uses: rojopolis/spellcheck-github-actions@0.34.0
+ name: Spellcheck
+ with:
+ config_path: .spellcheck.yml
+ task_name: SPCheck
+
+ ## LINT CHECK ALL GUIDES
+ lint:
+ name: Lint
+ runs-on: ubuntu-latest
+ steps:
+ # SETUP & INSTALL
+ - name: Checkout repo
+ uses: actions/checkout@v3
+ - uses: ./.github/actions/setup-node
+ with:
+ install: false
+ - name: Install dependencies
+ run: npm install -g markdownlint-cli@0.32.1
+ # RUN LINT CHECK
+ - name: Lint Check
+ run: markdownlint --config .markdownlint.yaml --ignore-path .markdownlintignore '**/*.mdx'
+
+ ## QUICKSTART TEST
quickstart-test:
timeout-minutes: 30
name: build-quickstart-contract
diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml
new file mode 100644
index 000000000..cde883bf4
--- /dev/null
+++ b/.github/workflows/links.yml
@@ -0,0 +1,12 @@
+name: Links
+
+on:
+ deployment_status
+
+jobs:
+ check-links:
+ uses: FuelLabs/github-actions/.github/workflows/next-links.yml@master
+ with:
+ status: ${{ github.event.deployment_status.state }}
+ preview-url: ${{ github.event.deployment_status.environment_url }}
+ folder-path: docs/guides/docs
diff --git a/.github/workflows/update-latest.yml b/.github/workflows/update-latest.yml
index 1fd6e3e56..470d7841e 100644
--- a/.github/workflows/update-latest.yml
+++ b/.github/workflows/update-latest.yml
@@ -1,4 +1,4 @@
-name: Find Latest File
+name: Update Latest Versions
on:
schedule:
@@ -11,7 +11,7 @@ env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
- find-latest-file:
+ update-latest-versions:
runs-on: ubuntu-latest
steps:
diff --git a/.markdownlint.yaml b/.markdownlint.yaml
new file mode 100644
index 000000000..b780b0f37
--- /dev/null
+++ b/.markdownlint.yaml
@@ -0,0 +1,5 @@
+'default': true # Default state for all rules
+'MD013': false # Disable rule for line length
+'MD033': false # Disable rule banning inline HTML
+'MD034': false # Disable rule banning bare urls
+'MD025': { 'front_matter_title': '' } # Without this, the title and h1 are considered two h1s
diff --git a/.markdownlintignore b/.markdownlintignore
new file mode 100644
index 000000000..7c8d7d5fc
--- /dev/null
+++ b/.markdownlintignore
@@ -0,0 +1,11 @@
+workflow
+docs/latest
+docs/sway
+docs/builds
+docs/fuelup
+docs/fuels-rs
+docs/fuels-ts
+docs/fuels-wallet
+docs/fuel-specs
+docs/fuel-indexer
+docs/fuel-graphql-docs
diff --git a/.spellcheck.yml b/.spellcheck.yml
new file mode 100644
index 000000000..04d3d4d13
--- /dev/null
+++ b/.spellcheck.yml
@@ -0,0 +1,21 @@
+matrix:
+ - name: SPCheck
+ aspell:
+ lang: en
+ dictionary:
+ encoding: utf-8
+ wordlists:
+ - ./spell-check-custom-words.txt
+ pipeline:
+ - pyspelling.filters.markdown:
+ markdown_extensions:
+ - pymdownx.superfences
+ - pyspelling.filters.html:
+ comments: false
+ ignores:
+ - code
+ - pre
+ - TestAction
+ sources:
+ - '**/guides/docs/**/*.mdx'
+ default_encoding: utf-8
diff --git a/docs/guides/docs/installation/codespace.mdx b/docs/guides/docs/installation/codespace.mdx
index b0fd61e9c..f587c899a 100644
--- a/docs/guides/docs/installation/codespace.mdx
+++ b/docs/guides/docs/installation/codespace.mdx
@@ -8,29 +8,29 @@ parent:
# Github Codespace
-### Introduction
+## Introduction
The way to think about [Github Codespaces](https://github.com/features/codespaces) is essentially VSCode in a browser. It’s a remote development environment that is extremely easy to spin up. While not all VS Code plugins are supported, the Sway LSP plugin is supported and works out of the box.
-### How to set up for a new repo
+## How to set up for a new repo
-1. Create a devcontainer.json file. The easiest way is by navigating to the repo and clicking Code → … → Configure dev container
-
-
-![dev container walkthrough](/images/dev-container.gif)
-
+1. Create a `devcontainer.json` file. The easiest way is by navigating to the repo and clicking Code → … → Configure dev container
+
+
+ ![dev container walkthrough](/images/dev-container.gif)
+
2. Edit the file to include the following features:
-
+
```json
"features": {
"ghcr.io/devcontainers/features/common-utils:1": {},
"ghcr.io/FuelLabs/devcontainer-features/fuelup:1.0.1": {},
}
```
-
-3. Add any plugins that you want to be installed for this repo under “customizations”.
-
+
+3. Add any plugins that you want to be installed for this repo under “customizations”.
+
```json
"customizations": {
"vscode": {
@@ -40,26 +40,26 @@ The way to think about [Github Codespaces](https://github.com/features/codespace
}
}
```
-
+
Here are examples that include the Sway LSP plugin.
-
- 3.1. [https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json)
-
- 3.2. [https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json)
-### How to start a codespace
+ 3.1. [`https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json`](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json)
+
+ 3.2. [`https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json`](https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json)
+
+## How to start a codespace
1. Navigate to the repo that has Github Codespaces configured.
2. Choose Code → Create codespace on master
-
-![Create codespace walkthrough](/images/create-codespace.gif)
-
+
+ ![Create codespace walkthrough](/images/create-codespace.gif)
+
+
+3. This will open a new tab with your codespace. It can take several minutes to start up.
-3. This will open a new tab with your codespace. It can take several minutes to start up.
+ 3.1. You now have a fully functional remote development environment with the Fuel toolchain installed! You can use `forc` to build and deploy Sway code, or `fuelup` to manage the toolchain version. You also have the Sway LSP plugin with full feature support for Sway, like syntax highlighting, hover docs, go-to definitions, etc.
- 3.1. You now have a fully functional remote dev environment with the Fuel toolchain installed! You can use `forc` to build and deploy Sway code, or `fuelup` to manage the toolchain version. You also have the Sway LSP plugin with full feature support for Sway, like syntax highlighting, hover docs, go-to definitions, etc.
-
3.2. Note: if you are working on a large repository and find the codespace is running slow, you can configure it to use a larger instance by clicking Code → … → change machine type on a running instance, or starting a new instance with Code → … → New with options.
### Pricing & billing
diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx
index d031a9c37..d18a36015 100644
--- a/docs/guides/docs/installation/index.mdx
+++ b/docs/guides/docs/installation/index.mdx
@@ -8,26 +8,29 @@ parent:
# Toolchain installation
-This guide will help you to install the Fuel toolchain binaries and prerequisites.
+This guide will help you to install the Fuel toolchain binaries and prerequisites.
This guide covers the following topics:
+
1. [Installing Rust](#installing-rust)
2. [Installing the Fuel toolchain using `fuelup`](#installing-the-fuel-toolchain-using-fuelup)
3. [Setting up a default toolchain](#setting-up-a-default-toolchain)
## Installing Rust
-{/* install_rust:example:start */}
+{/*install_rust:example:start*/}
The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the `rustup` tool.
-{/* install_rust:example:end */}
+{/*install_rust:example:end*/}
+
+Run the following command in your shell; this downloads and runs `rustup-init.sh`, which in turn downloads and runs the correct version of the `rustup-init` executable for your platform.
-Run the following command in your shell; this downloads and runs rustup-init.sh, which in turn downloads and runs the correct version of the `rustup-init` executable for your platform.
+{/*install_rust_command:example:start*/}
-{/* install_rust_command:example:start */}
```console
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
-{/* install_rust_command:example:end */}
+
+{/*install_rust_command:example:end*/}
Check the official Rust documentation to get more information on [installing the Rust toolchain](https://www.rust-lang.org/tools/install).
@@ -35,23 +38,25 @@ Check the official Rust documentation to get more information on [installing the
`fuelup` is the official package manager for Fuel that installs the Fuel toolchain
from the official release channels, enabling you to easily switch between different
-toolchains and keep them updated. It makes building and maintaining Sway applications simpler with [`forc`](docs/forc) and [`fuel-core`](https://github.com/FuelLabs/fuel-core) for common platforms.
+toolchains and keep them updated. It makes building and maintaining Sway applications simpler with [`forc`](/docs/forc) and [`fuel-core`](https://github.com/FuelLabs/fuel-core) for common platforms.
-> 💡 Check out the [fuelup docs](docs/fuelup) for more information.
+> 💡 Check out the [fuelup docs](/docs/fuelup) for more information.
-### Running fuelup-init
+### Running `fuelup-init`
-{/* install_fuelup:example:start */}
+{/*install_fuelup:example:start*/}
To install the Fuel toolchain, you'll use the `fuelup-init` script. This will install `forc`, `forc-client`, `forc-fmt`, `forc-lsp`, `forc-wallet` as well as `fuel-core` in `~/.fuelup/bin`.
-{/* install_fuelup:example:end */}
+{/*install_fuelup:example:end*/}
-👉 Just paste the following line in your terminal and press _Enter_.
+👉 Just paste the following line in your terminal and press *Enter*.
+
+{/*install_fuelup_command:example:start*/}
-{/* install_fuelup_command:example:start */}
```sh
curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh
```
-{/* install_fuelup_command:example:end */}
+
+{/*install_fuelup_command:example:end*/}
> 🚧 Be aware that currently we do not natively support Windows. If you wish to use `fuelup` on Windows, please use Windows Subsystem for Linux.
@@ -71,11 +76,11 @@ If permitted, fuelup-init will configure your PATH for you by running the follow
Would you like fuelup-init to modify your PATH variable for you? (N/y)
```
-👉 Press the `Y` key in your terminal and press _Enter_ to modify your PATH.
+👉 Press the `Y` key in your terminal and press *Enter* to modify your PATH.
### Checking the installation
-After allowing the `fuelup-init` script to modify your `PATH` variable, you will see a lot of information about packages being downloaded and installed. If everything goes as expected you will see the following message:
+After allowing the `fuelup-init` script to modify your `PATH` variable, you will see a lot of information about packages being downloaded and installed. If everything goes as expected you will see the following message:
```sh
The Fuel toolchain is installed and up to date
@@ -90,6 +95,7 @@ To generate completions for your shell, run 'fuelup completions --shell=SHELL'.
```sh
fuelup --version
```
+
That will output your current `fuelup` version:
```sh
@@ -98,7 +104,7 @@ fuelup 0.19.5
## Setting up a default toolchain
-Just as in [Rust](https://rust-lang.github.io/rustup/concepts/toolchains.html), Fuel supports multiple toolchains. A toolchain is a collection of tools (such as the compiler, lsp, etc).
+Just as in [Rust](https://rust-lang.github.io/rustup/concepts/toolchains.html), Fuel supports multiple toolchains. A toolchain is a collection of tools (such as the compiler, LSP, etc).
By default, `fuelup` includes a series of packages tested to work with each other, providing a reliable set of tools.
In this case, we will install the `beta-4` toolchain, which is the stable toolchain compatible with the beta-4 network. For more information on `beta-4` check the [Fuel blog](https://fuel-labs.ghost.io/announcing-beta-4-testnet/) page.
@@ -112,7 +118,9 @@ Make sure you have the latest version of `fuelup` so you can access the latest f
```console
fuelup self update
```
+
Then you will get an output like this:
+
```console
Fetching binary from https://github.com/FuelLabs/fuelup/releases/download/v0.19.5/fuelup-0.19.5-aarch64-apple-darwin.tar.gz
Downloading component fuelup without verifying checksum
@@ -126,15 +134,17 @@ The `beta-4` network is the latest Fuel testnet. This includes public infrastruc
To properly interact with the `beta-4` network it is necessary to use its corresponding toolchain.
-{/* install_beta-4:example:start */}
+{/*install_beta-4:example:start*/}
👉 Run the following command to install the `beta-4` toolchain:
-{/* install_beta-4:example:end */}
+{/*install_beta-4:example:end*/}
+
+{/*install_beta-4_command:example:start*/}
-{/* install_beta-4_command:example:start */}
```console
fuelup toolchain install beta-4
```
-{/* install_beta-4_command:example:end */}
+
+{/*install_beta-4_command:example:end*/}
If the toolchain was successfully installed, you will see this output:
@@ -144,17 +154,19 @@ The Fuel toolchain is installed and up to date
The toolchain was installed correctly, however is not in use yet. Next, you need to configure `fuelup` to use the `beta-4` toolchain as the default.
-{/* set_default_beta-4:example:start */}
+{/*set_default_beta-4:example:start*/}
👉 Set `beta-4` as your default toolchain with the following command:
-{/* set_default_beta-4:example:end */}
+{/*set_default_beta-4:example:end*/}
+
+{/*set_default_beta-4_command:example:start*/}
-{/* set_default_beta-4_command:example:start */}
```console
fuelup default beta-4
```
-{/* set_default_beta-4_command:example:end */}
-You will get the following output indicating that you have successfully set `beta-4` as your default toolchain.
+{/*set_default_beta-4_command:example:end*/}
+
+You will get the following output indicating that you have successfully set `beta-4` as your default toolchain.
```console
default toolchain set to 'beta-4'
@@ -209,18 +221,18 @@ Now you are ready to start building with Fuel.
### Custom toolchains
-You can create your own set of specific versions, this is known as 'custom toolchains'.
+You can create your own set of specific versions, this is known as 'custom toolchains'.
-> 👉 Visit the [Fuelup docs](docs/fuelup/concepts/toolchains) to learn how to set up your own custom toolchains.
+> 👉 Visit the [Fuelup docs](/docs/fuelup/concepts/toolchains) to learn how to set up your own custom toolchains.
### Build form source
You can always build the Fuel packages from source.
-> 👉 Visit the [Fuelup docs](docs/fuelup/install/other) to get more details about other types of installation.
+> 👉 Visit the [Fuelup docs](/docs/fuelup/installation/other) to get more details about other types of installation.
### Github Codespaces
-It's always possible to run a development environment in the browser.
+It's always possible to run a development environment in the browser.
-> 👉 Please visit our guide on [Github Codespaces](guides/installation/codespace) to use the Fuel toolchain in the browser.
\ No newline at end of file
+> 👉 Please visit our guide on [Github Codespaces](/guides/installation/codespace) to use the Fuel toolchain in the browser.
diff --git a/docs/guides/docs/quickstart/building-a-frontend.mdx b/docs/guides/docs/quickstart/building-a-frontend.mdx
index 7cd267052..b157cfc15 100644
--- a/docs/guides/docs/quickstart/building-a-frontend.mdx
+++ b/docs/guides/docs/quickstart/building-a-frontend.mdx
@@ -41,7 +41,7 @@ Now, initialize a react project using [`Create React App`](https://create-react-
@@ -68,7 +68,7 @@ The `fuels` umbrella package includes all the main tools you need for your front
Also, it contains the routines for ABI TypeScript generation.
-> ABI stands for Application Binary Interface. ABI's inform the application the interface to interact with the VM, in other words, they provide info to the APP such as what methods a contract has, what params, types it expects, etc...
+> ABI stands for Application Binary Interface. ABIs inform the application the interface to interact with the VM, in other words, they provide info to the APP such as what methods a contract has, what params, types it expects, etc...
### Installing
@@ -83,7 +83,7 @@ Install `fuels` and `@fuel-wallet/sdk`.
@@ -102,8 +102,8 @@ Next, update the TypeScript configuration at `tsconfig.json` to add the Fuel Wal
@@ -162,7 +162,7 @@ File: `./frontend/src/App.tsx`
@@ -177,7 +177,7 @@ Finally, replace the value of the `CONTRACT_ID` variable at the top of your `App
' --name 'react-dapp' --cwd ./guides-testing/fuel-project/frontend"
}}
/>
@@ -239,7 +239,7 @@ Get help from the team by posting your question in the [Fuel Forum](https://foru
@@ -247,7 +247,7 @@ action={{
@@ -255,7 +255,7 @@ action={{
@@ -279,7 +279,7 @@ action={{
@@ -312,14 +312,14 @@ action={{
@@ -327,7 +327,7 @@ action={{
\ No newline at end of file
+/>
diff --git a/docs/guides/docs/quickstart/building-a-smart-contract.mdx b/docs/guides/docs/quickstart/building-a-smart-contract.mdx
index 74e8e234f..78d9e003d 100644
--- a/docs/guides/docs/quickstart/building-a-smart-contract.mdx
+++ b/docs/guides/docs/quickstart/building-a-smart-contract.mdx
@@ -66,9 +66,9 @@ parent:
trim="true"
/>
-For more detailed instructions on installing `fuelup`, visit the [installation guide](guides/installation).
+For more detailed instructions on installing `fuelup`, visit the [installation guide](/guides/installation).
-> Having problems with this part? Post your question on our forum [https://forum.fuel.network/](https://forum.fuel.network/). To help you as efficiently as possible, include the output of this command in your post: `fuelup show.`
+> Having problems with this part? Post your question on our [forum](https://forum.fuel.network/). To help you as efficiently as possible, include the output of this command in your post: `fuelup show.`
## Your First Sway Project
@@ -78,8 +78,8 @@ We'll build a simple counter contract with two functions: one to increment the c
@@ -101,7 +101,7 @@ Then create a contract project using `forc`:
@@ -129,14 +129,14 @@ Report Bugs:
- Sway Issues: https://github.com/FuelLabs/sway/issues/new
```
-{/* This example should include a tree for a new `forc` project and explain the boilerplate files */}
-{/* forc_new:example:start */}
+{/*This example should include a tree for a new `forc` project and explain the boilerplate files*/}
+{/*forc_new:example:start*/}
Here is the project that `forc` has initialized:
@@ -151,8 +151,8 @@ counter-contract
1 directory, 2 files
```
-`forc.toml` is the _manifest file_ (similar to `Cargo.toml` for Cargo or `package.json` for Node) and defines project metadata such as the project name and dependencies.
-{/* forc_new:example:end */}
+`forc.toml` is the *manifest file* (similar to `Cargo.toml` for Cargo or `package.json` for Node) and defines project metadata such as the project name and dependencies.
+{/*forc_new:example:end*/}
Open your project in a code editor and delete everything in `src/main.sw` apart from the first line.
@@ -217,7 +217,7 @@ Below your ABI definition, you will write the implementation of the functions de
@@ -289,7 +289,7 @@ Let's have a look at the content of the `counter-contract` folder after building
@@ -334,7 +334,7 @@ Now, let's generate the default test harness with the following:
@@ -357,7 +357,7 @@ Let's have a look at the result:
@@ -395,7 +395,7 @@ id="test-harness"
action={{
name: 'modifyFile',
filepath: 'guides-testing/fuel-project/counter-contract/tests/harness.rs',
- addSpacesBefore: 1,
+ addSpacesBefore: 1,
}}
/>
@@ -503,7 +503,7 @@ Just below the list, you'll see this prompt:
Then you'll enter the number of the account of preference and press `Y` when prompted to accept the transaction.
-Finally, you will get back the network endpoint where the contract was deployed, a `Contract ID` and the block where the transaction was signed.
+Finally, you will get back the network endpoint where the contract was deployed, a `Contract ID` and the block where the transaction was signed.
Save the `Contract ID`, as you'll need this later to connect the frontend.
With this ID, you can also head to the [block explorer](https://fuellabs.github.io/block-explorer-v2/) to confirm the contract was deployed.
diff --git a/docs/guides/docs/running-a-node/index.mdx b/docs/guides/docs/running-a-node/index.mdx
index bb57fbc41..56f512d5a 100644
--- a/docs/guides/docs/running-a-node/index.mdx
+++ b/docs/guides/docs/running-a-node/index.mdx
@@ -11,6 +11,7 @@ parent:
This guide is designed to swiftly introduce you to the process of running a local node for the Fuel blockchain.
## What is a Node?
+
In the context of the Fuel blockchain, a node, often referred to as a 'client', is a piece of software that downloads and maintains a copy of the Fuel blockchain. It verifies the authenticity of every block and transaction, ensuring that your copy is always up-to-date and in sync with the network.
For the latest version of the Fuel client, please visit [here](https://github.com/FuelLabs/fuel-core).
@@ -30,9 +31,9 @@ Running your own node provides several advantages:
1. **Query Freedom:** By hosting your own node, you can execute a higher number of queries without encountering any rate limits.
2. **Network Independence:** Having your own node ensures that you're not reliant on third-party services, giving you full control over your interactions with the Fuel blockchain.
-
## Getting Started
+
Depending on your requirements, you can opt for one of the following setups:
-1. [Run a Local Fuel Network Node:](./running-a-local-node/) This setup allows you to run a node that operates solely on your local environment.
-2. [Connect to the Beta 4 Fuel Network:](./running-a-beta-4-node/) With this setup, your local node will connect and sync with the beta4 version of the Fuel network.
\ No newline at end of file
+1. [Run a Local Fuel Network Node:](/guides/running-a-node/running-a-local-node) This setup allows you to run a node that operates solely on your local environment.
+2. [Connect to the Beta 4 Fuel Network:](/guides/running-a-node/running-a-beta-4-node) With this setup, your local node will connect and sync with the beta4 version of the Fuel network.
diff --git a/docs/guides/docs/running-a-node/running-a-beta-4-node.mdx b/docs/guides/docs/running-a-node/running-a-beta-4-node.mdx
index 7e625d955..9ee721d57 100644
--- a/docs/guides/docs/running-a-node/running-a-beta-4-node.mdx
+++ b/docs/guides/docs/running-a-node/running-a-beta-4-node.mdx
@@ -10,15 +10,15 @@ parent:
## Installation
-{/* This example should include the instructions for installing Rust & Fuelup */}
-{/* installation:example:start */}
+{/*This example should include the instructions for installing Rust & Fuelup*/}
+{/*installation:example:start*/}
Start by [installing the Rust toolchain](https://www.rust-lang.org/tools/install).
Then, [install the Fuel toolchain](/docs/fuelup/installation).
-{/* installation:example:end */}
+{/*installation:example:end*/}
-{/* This example should include the instructions for installing the latest toolchain */}
-{/* toolchain_installation:example:start */}
+{/*This example should include the instructions for installing the latest toolchain*/}
+{/*toolchain_installation:example:start*/}
Make sure you have the latest version of `fuelup` by running the following command:
```console
@@ -37,21 +37,28 @@ default toolchain set to 'beta-4-aarch64-apple-darwin'
You can check your current toolchain anytime by running `fuelup show` to ensure you have `fuel-core 0.20.4`.
## Getting a Sepolia (Ethereum Testnet) API Key
-An API key from any RPC provider that supports the Sepolia network will work. Relayers will help listen to events from the Ethereum network. We recommend either [Infura](https://www.infura.io/) or [Alchemy](https://www.alchemy.com/)
+
+An API key from any RPC provider that supports the Sepolia network will work. Relayers will help listen to events from the Ethereum network. We recommend either [Infura](https://www.infura.io/) or [Alchemy](https://www.alchemy.com/)
The endpoints should look like the following
+
### Infura
+
```sh
https://sepolia.infura.io/v3/{YOUR_API_KEY}
```
+
### Alchemy
+
```sh
https://eth-sepolia.g.alchemy.com/v2/{YOUR_API_KEY}
```
+
Note that using other network endpoints will result in the relayer failing to start.
## Generating a P2P Key
-Generate a new P2P key pairing by running the following command:
+
+Generate a new P2P key pairing by running the following command:
```sh
$ fuel-core-keygen new --key-type peering
@@ -62,11 +69,11 @@ $ fuel-core-keygen new --key-type peering
}
```
-Make sure you save this somewhere safe so you don't need to generate a new key pair in the future.
+Make sure you save this somewhere safe so you don't need to generate a new key pair in the future.
## Chain Configuration
-To run a local node with persistance, you must configure a `chainConfig.json` file. Here is the [specific configuration](https://github.com/FuelLabs/fuel-core/blob/v0.20.4/deployment/scripts/chainspec/beta_chainspec.json) for `beta-4`:
+To run a local node with persistence, you must configure a `chainConfig.json` file. Here is the [specific configuration](https://github.com/FuelLabs/fuel-core/blob/v0.20.4/deployment/scripts/chainspec/beta_chainspec.json) for `beta-4`:
```json
{
@@ -315,4 +322,3 @@ To connect to the local node using a browser wallet, import the network address
```sh
http://127.0.0.1:4000/graphql
```
-
diff --git a/docs/guides/docs/running-a-node/running-a-local-node.mdx b/docs/guides/docs/running-a-node/running-a-local-node.mdx
index ddaf38ed5..58f344754 100644
--- a/docs/guides/docs/running-a-node/running-a-local-node.mdx
+++ b/docs/guides/docs/running-a-node/running-a-local-node.mdx
@@ -12,10 +12,10 @@ In addition to deploying and testing on the Fuel Testnet, you can also run a loc
There are two types of Fuel networks that can be run:
-1. In-memory network (without persistance)
-2. Local network with persistance
+1. In-memory network (without persistence)
+2. Local network with persistence
-## In-memory local node (without state persistance)
+## In-memory local node (without state persistence)
An in-memory node does not persist the blockchain state anywhere, it is only stored in memory as long as the node is active and running.
@@ -37,11 +37,11 @@ Or to deploy without using a signing key:
forc deploy --unsigned --node-url 127.0.0.1:4000/graphql
```
-## Local node (with state persistance)
+## Local node (with state persistence)
This node does persist the blockchain state locally.
-To run a local node with persistance, you must configure a `chainConfig.json` file. Here is an example of what that looks like:
+To run a local node with persistence, you must configure a `chainConfig.json` file. Here is an example of what that looks like:
```json
{
diff --git a/docs/guides/docs/testnet-migration/beta-3-to-beta-4-migration.mdx b/docs/guides/docs/testnet-migration/beta-3-to-beta-4-migration.mdx
index ee06669e7..6f0d18726 100644
--- a/docs/guides/docs/testnet-migration/beta-3-to-beta-4-migration.mdx
+++ b/docs/guides/docs/testnet-migration/beta-3-to-beta-4-migration.mdx
@@ -46,28 +46,11 @@ default toolchain set to 'beta-4-aarch64-apple-darwin'
## Wallet
-Fuel Wallet version `0.11.0` is not compatible with beta 4. For compatibility with beta-4, please download the non-backwards compatible Fuel Wallet version `0.12.3`.
+If you have already installed the Fuel Wallet extension, make sure the extension is up-to-date.
-```sh
-pnpm install @fuel-wallet@0.12.3
-```
-
-We have already submitted the beta-4 compatible version to the Chrome Web Store, and it is currently under review. Once your users update to this version, they will no longer be able to interact with the contracts you currently have deployed on the beta-3 testnet.
-
-Please follow the instructions provided below:
-
-1. Download [FuelWallet zip file](https://next-wallet.fuel.network/app/fuel-wallet.zip)
-2. Inside Chrome or Brave;
-3. Open the extensions page; it can be done by:
- - Clicking on settings -> extensions or;
-4. Accessing brave://extensions/ or chrome://extensions/.
-5. Enable the "Developer mode" switch on the top right
-6. Load fuel-wallet.zip by:
- - Dragging your downloaded Fuel wallet file and dropping it in the extensions page or;
- - Clicking on Load unpacked and selecting the file.
-7. If all goes right, an onboarding page will instantly open.
+If you haven't already installed the Fuel Wallet, you can install it [here](https://chrome.google.com/webstore/detail/fuel-wallet/dldjpboieedgcmpkchcjcbijingjcgok).
-## Sway
+## Sway
Integer types no longer implicitly cast to each other. Here are some examples of the changes:
@@ -187,7 +170,7 @@ request.addResources(resources);
```
Similarly, `addPredicateResourcesInputsAndOutputs` is now more concisely known as `addPredicateResources`.
-The reason we have a distinct method for adding predicate resources is that the creation of predicate inputs mandates the presence of both the predicate’s bytes and data bytes.
+The reason we have a distinct method for adding predicate resources is that the creation of predicate inputs mandates the presence of both the predicate’s bytes and data bytes.
With these methods, there’s no longer a need to manually create and set up an instance of a `ScriptTransactionRequest`, simplifying the process further.
```typescript
@@ -229,7 +212,7 @@ let response = contract_methods
.await?;
```
-`setup_contract_test` has been changed to `setup_program_test`.
+`setup_contract_test` has been changed to `setup_program_test`.
The command to generate bindings with Abigen has been modified; previously, it was `Abigen(name="...")`, but now it requires the program type and should be written as `Abigen(Program_Type(name="..."))`:
@@ -251,7 +234,7 @@ setup_program_test!(
);
```
-Now supporting String types, there have been slight modifications if you directly use ParamTypes:
+Now supporting String types, there have been slight modifications if you directly use `ParamTypes`:
```rust
// BEFORE - BETA 3
diff --git a/docs/guides/docs/testnet-migration/index.mdx b/docs/guides/docs/testnet-migration/index.mdx
index 8eca8b439..9c9e65562 100644
--- a/docs/guides/docs/testnet-migration/index.mdx
+++ b/docs/guides/docs/testnet-migration/index.mdx
@@ -12,15 +12,15 @@ Throughout Fuel's development journey, numerous testnets have been created to en
## Breaking Changes
-This guide focuses SOLEY on addressing breaking changes across different testnets. For information on new features, please consult the respective release notes:
+This guide focuses only on addressing breaking changes across different testnets. For information on new features, please consult the respective release notes:
- [Fuelup installation](https://github.com/FuelLabs/fuelup/releases)
- [Sway](https://github.com/FuelLabs/sway/releases)
- [Typescript SDK](https://github.com/FuelLabs/fuels-ts/releases)
- [Rust SDK](https://github.com/FuelLabs/fuels-rs/releases)
-## Getting started
+## Getting started
Identify the specific testnet you are currently working on and follow the appropriate migration steps.
-- [Beta 4 Migration Guide](./beta-3-to-beta-4-migration/)
+- [Beta 4 Migration Guide](/guides/testnet-migration/beta-3-to-beta-4-migration)
diff --git a/package.json b/package.json
index 2b79b22f2..334e76470 100644
--- a/package.json
+++ b/package.json
@@ -61,6 +61,7 @@
"hast-util-to-string": "^2.0.0",
"hast-util-to-text": "^3.1.2",
"hastscript": "^7.2.0",
+ "markdownlint-cli": "^0.37.0",
"next": "13.4.19",
"next-contentlayer": "^0.3.4",
"node-html-markdown": "^1.3.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f4d615719..6cce30d1a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -109,6 +109,9 @@ dependencies:
hastscript:
specifier: ^7.2.0
version: 7.2.0
+ markdownlint-cli:
+ specifier: ^0.37.0
+ version: 0.37.0
next:
specifier: 13.4.19
version: 13.4.19(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0)
@@ -5478,7 +5481,6 @@ packages:
/commander@11.0.0:
resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==}
engines: {node: '>=16'}
- dev: true
/commander@2.15.1:
resolution: {integrity: sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==}
@@ -5717,7 +5719,6 @@ packages:
/deep-extend@0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
engines: {node: '>=4.0.0'}
- dev: true
/deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -5912,6 +5913,11 @@ packages:
ansi-colors: 4.1.3
dev: false
+ /entities@3.0.1:
+ resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
+ engines: {node: '>=0.12'}
+ dev: false
+
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -6797,6 +6803,11 @@ packages:
engines: {node: '>=6'}
dev: false
+ /get-stdin@9.0.0:
+ resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
+ engines: {node: '>=12'}
+ dev: false
+
/get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -7300,6 +7311,11 @@ packages:
/ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ /ini@4.1.1:
+ resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: false
+
/inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
dev: false
@@ -7751,6 +7767,12 @@ packages:
engines: {node: '>=10'}
dev: true
+ /linkify-it@4.0.1:
+ resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
+ dependencies:
+ uc.micro: 1.0.6
+ dev: false
+
/lint-staged@14.0.1:
resolution: {integrity: sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==}
engines: {node: ^16.14.0 || >=18.0.0}
@@ -7886,10 +7908,50 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
+ /markdown-it@13.0.1:
+ resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ entities: 3.0.1
+ linkify-it: 4.0.1
+ mdurl: 1.0.1
+ uc.micro: 1.0.6
+ dev: false
+
/markdown-table@3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
dev: false
+ /markdownlint-cli@0.37.0:
+ resolution: {integrity: sha512-hNKAc0bWBBuVhJbSWbUhRzavstiB4o1jh3JeSpwC4/dt6eJ54lRfYHRxVdzVp4qGWBKbeE6Pg490PFEfrKjqSg==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ commander: 11.0.0
+ get-stdin: 9.0.0
+ glob: 10.3.4
+ ignore: 5.2.4
+ js-yaml: 4.1.0
+ jsonc-parser: 3.2.0
+ markdownlint: 0.31.1
+ minimatch: 9.0.3
+ run-con: 1.3.2
+ dev: false
+
+ /markdownlint-micromark@0.1.7:
+ resolution: {integrity: sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /markdownlint@0.31.1:
+ resolution: {integrity: sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA==}
+ engines: {node: '>=16'}
+ dependencies:
+ markdown-it: 13.0.1
+ markdownlint-micromark: 0.1.7
+ dev: false
+
/mdast-util-definitions@5.1.2:
resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
dependencies:
@@ -8092,6 +8154,10 @@ packages:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
dev: false
+ /mdurl@1.0.1:
+ resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
+ dev: false
+
/mdx-bundler@9.2.1(esbuild@0.19.2):
resolution: {integrity: sha512-hWEEip1KU9MCNqeH2rqwzAZ1pdqPPbfkx9OTJjADqGPQz4t9BO85fhI7AP9gVYrpmfArf9/xJZUN0yBErg/G/Q==}
engines: {node: '>=14', npm: '>=6'}
@@ -9838,6 +9904,16 @@ packages:
execa: 5.1.1
dev: false
+ /run-con@1.3.2:
+ resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==}
+ hasBin: true
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 4.1.1
+ minimist: 1.2.8
+ strip-json-comments: 3.1.1
+ dev: false
+
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -10549,6 +10625,10 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ /uc.micro@1.0.6:
+ resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
+ dev: false
+
/uglify-js@3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
engines: {node: '>=0.8.0'}
diff --git a/scripts/update-latest-submodules.sh b/scripts/update-latest-submodules.sh
deleted file mode 100644
index 62428ab63..000000000
--- a/scripts/update-latest-submodules.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-git submodule update --remote docs/latest/sway docs/latest/builds/sway docs/latest/fuel-graphql-docs docs/latest/fuel-indexer docs/latest/fuel-specs docs/latest/fuels-rs docs/latest/fuels-ts docs/latest/fuels-wallet docs/latest/fuelup
\ No newline at end of file
diff --git a/spell-check-custom-words.txt b/spell-check-custom-words.txt
new file mode 100644
index 000000000..969b50375
--- /dev/null
+++ b/spell-check-custom-words.txt
@@ -0,0 +1,55 @@
+SDK
+testnet
+testnets
+mainnet
+config
+JSON
+abigen
+blockchain
+blockchain's
+ABI
+ABIs
+ERC
+Ethereum
+Ethereum's
+natively
+toolchain
+toolchains
+relayer
+relayers
+Infura
+RPC
+Sepolia
+PoA
+PoS
+PoW
+validator
+validators
+codespace
+codespaces
+Github
+quickstart
+forc
+bytecode
+struct
+Fuelup
+fuelup
+LSP
+graphQL
+GraphQL
+repo
+customizations
+VSCode
+frontend
+dapp
+fullstack
+TypeScript
+params
+VM
+FuelVM
+FVM
+stateful
+runnable
+CLI
+dev
+TODO
\ No newline at end of file