From 07065ace4ce151a6fd79e613069fc1b0f4d282e4 Mon Sep 17 00:00:00 2001 From: Call Delegation <106365423+calldelegation@users.noreply.github.com> Date: Sat, 1 Feb 2025 10:27:12 -0500 Subject: [PATCH 1/5] update (#591) --- docs/builds/sway | 2 +- docs/fuels-rs | 2 +- docs/fuels-wallet | 2 +- docs/nightly/builds/sway | 2 +- docs/nightly/fuel-specs | 2 +- docs/nightly/fuels-rs | 2 +- docs/nightly/fuels-wallet | 2 +- docs/nightly/sway | 2 +- docs/nightly/sway-libs | 2 +- docs/sway | 2 +- docs/sway-libs | 2 +- src/config/versions.json | 10 +++++----- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/builds/sway b/docs/builds/sway index 2eba9a601..e87d6e6dc 160000 --- a/docs/builds/sway +++ b/docs/builds/sway @@ -1 +1 @@ -Subproject commit 2eba9a601e83b355de8a12c6a1aa0e6dd51590fa +Subproject commit e87d6e6dc685a060736825e5b52ce05d21961ba9 diff --git a/docs/fuels-rs b/docs/fuels-rs index f2c31029b..66b3f0f28 160000 --- a/docs/fuels-rs +++ b/docs/fuels-rs @@ -1 +1 @@ -Subproject commit f2c31029b78419dd186a1022b9ce53e87b757a03 +Subproject commit 66b3f0f28817b55b5ff375d5ded1a5b5b400b7ed diff --git a/docs/fuels-wallet b/docs/fuels-wallet index eaa6ee9a2..8aa814f12 160000 --- a/docs/fuels-wallet +++ b/docs/fuels-wallet @@ -1 +1 @@ -Subproject commit eaa6ee9a261be46f42009c27c5db19cb79176c4a +Subproject commit 8aa814f12a6d0113dd76fe0505d67acd3149c426 diff --git a/docs/nightly/builds/sway b/docs/nightly/builds/sway index 2eba9a601..e87d6e6dc 160000 --- a/docs/nightly/builds/sway +++ b/docs/nightly/builds/sway @@ -1 +1 @@ -Subproject commit 2eba9a601e83b355de8a12c6a1aa0e6dd51590fa +Subproject commit e87d6e6dc685a060736825e5b52ce05d21961ba9 diff --git a/docs/nightly/fuel-specs b/docs/nightly/fuel-specs index cebd4c560..cca2e8cd2 160000 --- a/docs/nightly/fuel-specs +++ b/docs/nightly/fuel-specs @@ -1 +1 @@ -Subproject commit cebd4c56072180433f52140a4374800b5da393d1 +Subproject commit cca2e8cd2e475263c909cb902620b5ff143713ec diff --git a/docs/nightly/fuels-rs b/docs/nightly/fuels-rs index f2c31029b..66b3f0f28 160000 --- a/docs/nightly/fuels-rs +++ b/docs/nightly/fuels-rs @@ -1 +1 @@ -Subproject commit f2c31029b78419dd186a1022b9ce53e87b757a03 +Subproject commit 66b3f0f28817b55b5ff375d5ded1a5b5b400b7ed diff --git a/docs/nightly/fuels-wallet b/docs/nightly/fuels-wallet index 7cfef80f4..8aa814f12 160000 --- a/docs/nightly/fuels-wallet +++ b/docs/nightly/fuels-wallet @@ -1 +1 @@ -Subproject commit 7cfef80f4332c6d109b0eab201c4ad977c53a163 +Subproject commit 8aa814f12a6d0113dd76fe0505d67acd3149c426 diff --git a/docs/nightly/sway b/docs/nightly/sway index ff8291a2b..986aee2c1 160000 --- a/docs/nightly/sway +++ b/docs/nightly/sway @@ -1 +1 @@ -Subproject commit ff8291a2b1a7997f257120b89aeec25ac3bd8264 +Subproject commit 986aee2c1e34c9cd958c81e7fd6b84638b26619b diff --git a/docs/nightly/sway-libs b/docs/nightly/sway-libs index 8e40e6803..9a94bfc14 160000 --- a/docs/nightly/sway-libs +++ b/docs/nightly/sway-libs @@ -1 +1 @@ -Subproject commit 8e40e68032aaa1fb9afdda70f2ca8ee5e5e8c4e4 +Subproject commit 9a94bfc141743bcb892b74cb55cdc973cd643447 diff --git a/docs/sway b/docs/sway index ff8291a2b..986aee2c1 160000 --- a/docs/sway +++ b/docs/sway @@ -1 +1 @@ -Subproject commit ff8291a2b1a7997f257120b89aeec25ac3bd8264 +Subproject commit 986aee2c1e34c9cd958c81e7fd6b84638b26619b diff --git a/docs/sway-libs b/docs/sway-libs index 8e40e6803..9a94bfc14 160000 --- a/docs/sway-libs +++ b/docs/sway-libs @@ -1 +1 @@ -Subproject commit 8e40e68032aaa1fb9afdda70f2ca8ee5e5e8c4e4 +Subproject commit 9a94bfc141743bcb892b74cb55cdc973cd643447 diff --git a/src/config/versions.json b/src/config/versions.json index 908f69694..fbd28039c 100644 --- a/src/config/versions.json +++ b/src/config/versions.json @@ -1,10 +1,10 @@ { "default": { - "forc": "0.66.4", - "rust": "0.66.10", + "forc": "0.66.6", + "rust": "0.70.0", "ts": "0.98.0", - "wallet": "0.42.3", - "sway_libs": "0.24.0", - "sway_standards": "0.6.2" + "wallet": "0.47.0", + "sway_libs": "0.24.1", + "sway_standards": "0.6.3" } } \ No newline at end of file From 446e9a2a3f2d99b82415c1841e056e875c0a8d50 Mon Sep 17 00:00:00 2001 From: Call Delegation <106365423+calldelegation@users.noreply.github.com> Date: Sat, 1 Feb 2025 11:19:51 -0500 Subject: [PATCH 2/5] update sway standards (#592) --- .gitmodules | 4 ++++ docs/nightly/sway-standards | 2 +- docs/sway-standards | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 6dde6f1af..e4a6af32f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -67,8 +67,12 @@ [submodule "docs/sway-standards"] path = docs/sway-standards url = https://github.com/FuelLabs/sway-standards + # TODO: Remove this and nightly after master syncs up with the lastest released version + branch = docs/fix-16-examples [submodule "docs/nightly/sway-standards"] path = docs/nightly/sway-standards + # TODO: Remove this and nightly after master syncs up with the lastest released version + branch = docs/fix-16-examples url = https://github.com/FuelLabs/sway-standards [submodule "docs/chain-configuration"] path = docs/chain-configuration diff --git a/docs/nightly/sway-standards b/docs/nightly/sway-standards index ba788b238..5ce282805 160000 --- a/docs/nightly/sway-standards +++ b/docs/nightly/sway-standards @@ -1 +1 @@ -Subproject commit ba788b2389d0adad0167cf3bfa559da00502f984 +Subproject commit 5ce282805e414e4c5e11e40e5ec500b7f2b6bedc diff --git a/docs/sway-standards b/docs/sway-standards index ba788b238..5ce282805 160000 --- a/docs/sway-standards +++ b/docs/sway-standards @@ -1 +1 @@ -Subproject commit ba788b2389d0adad0167cf3bfa559da00502f984 +Subproject commit 5ce282805e414e4c5e11e40e5ec500b7f2b6bedc From fd961d41cc4b1bc1d53972fc5af44ff256eb2186 Mon Sep 17 00:00:00 2001 From: Call Delegation <106365423+calldelegation@users.noreply.github.com> Date: Mon, 3 Feb 2025 02:37:13 -0500 Subject: [PATCH 3/5] docs: Node Operator Extraction (#589) * baseline * ready to take on the new guides * ready for review --- .gitmodules | 6 + .vscode/settings.json | 3 +- contentlayer.config.ts | 4 + docs/guides/docs/guides.json | 8 - docs/guides/docs/nav.json | 5 - docs/guides/docs/running-a-node/index.mdx | 52 ------ .../running-a-node/running-a-local-node.mdx | 102 ------------ .../running-a-node/running-a-mainnet-node.mdx | 153 ------------------ .../running-a-node/running-a-testnet-node.mdx | 151 ----------------- docs/nightly/node-operator | 1 + docs/node-operator | 1 + scripts/clean-build-files.mjs | 3 + scripts/generate-links/getDocs.mjs | 18 +++ scripts/generate-links/getOrders.mjs | 4 + scripts/generate-links/index.mjs | 4 + src/components/SidebarSection.tsx | 3 + src/config/docs.json | 9 ++ src/lib/md-doc.ts | 3 +- 18 files changed, 57 insertions(+), 473 deletions(-) delete mode 100644 docs/guides/docs/running-a-node/index.mdx delete mode 100644 docs/guides/docs/running-a-node/running-a-local-node.mdx delete mode 100644 docs/guides/docs/running-a-node/running-a-mainnet-node.mdx delete mode 100644 docs/guides/docs/running-a-node/running-a-testnet-node.mdx create mode 160000 docs/nightly/node-operator create mode 160000 docs/node-operator diff --git a/.gitmodules b/.gitmodules index e4a6af32f..6ac1fa4c4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -113,3 +113,9 @@ [submodule "docs/nightly/fuel-token-overview"] path = docs/nightly/fuel-token-overview url = https://github.com/FuelLabs/fuel-token-overview.git +[submodule "docs/node-operator"] + path = docs/node-operator + url = https://github.com/FuelLabs/node-operator +[submodule "docs/nightly/node-operator"] + path = docs/nightly/node-operator + url = https://github.com/FuelLabs/node-operator.git diff --git a/.vscode/settings.json b/.vscode/settings.json index 60e280f54..e4dd10ec2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -26,7 +26,8 @@ "**/migrations-and-disclosures": true, "**/fuel-book": true, "**/verified-addresses": true, - "**/fuel-token-overview": true + "**/fuel-token-overview": true, + "**/node-operator": true }, "git.ignoreLimitWarning": true, "[typescriptreact]": { diff --git a/contentlayer.config.ts b/contentlayer.config.ts index 33c143a03..25ac17b0b 100644 --- a/contentlayer.config.ts +++ b/contentlayer.config.ts @@ -69,6 +69,7 @@ const includeDirs = [ 'docs/verified-addresses/docs/src', 'docs/fuel-token-overview/docs/src', 'docs/integration-docs/docs/src', + 'docs/node-operator/docs/src', // NIGHTLY DOCS 'docs/nightly/sway/docs/book/src', 'docs/nightly/fuels-rs/docs/src', @@ -84,6 +85,7 @@ const includeDirs = [ 'docs/nightly/verified-addresses/docs/src', 'docs/nightly/fuel-token-overview/docs/src', 'docs/nightly/integration-docs/docs/src', + 'docs/nightly/node-operator/docs/src', ]; const excludeDirs = [ @@ -103,6 +105,7 @@ const excludeDirs = [ 'docs/verified-addresses/docs/src/SUMMARY.md', 'docs/fuel-token-overview/docs/src/SUMMARY.md', 'docs/integration-docs/docs/src/SUMMARY.md', + 'docs/node-operator/docs/src/SUMMARY.md', // NIGHTLY DOCS 'docs/nightly/sway/docs/book/src/SUMMARY.md', 'docs/nightly/fuels-rs/docs/src/SUMMARY.md', @@ -115,6 +118,7 @@ const excludeDirs = [ 'docs/nightly/verified-addresses/docs/src/SUMMARY.md', 'docs/nightly/fuel-token-overview/docs/src/SUMMARY.md', 'docs/nightly/integration-docs/docs/src/SUMMARY.md', + 'docs/nightly/node-operator/docs/src/SUMMARY.md', ]; export default makeSource({ diff --git a/docs/guides/docs/guides.json b/docs/guides/docs/guides.json index 5b91efed0..c90ece6b5 100644 --- a/docs/guides/docs/guides.json +++ b/docs/guides/docs/guides.json @@ -44,14 +44,6 @@ "React" ] }, - "running_a_node": { - "title": "Running a Node", - "description": "Run a local Fuel node.", - "featured": false, - "tags": [ - "fuel-core" - ] - }, "installation": { "title": "Toolchain Installation", "description": "Install the Fuel toolchain and binaries.", diff --git a/docs/guides/docs/nav.json b/docs/guides/docs/nav.json index 7163c2ea0..aeb30507b 100644 --- a/docs/guides/docs/nav.json +++ b/docs/guides/docs/nav.json @@ -1,7 +1,6 @@ { "menu": [ "Installation", - "Running a Node", "Counter Dapp", "Contract Quickstart", "Frontend Quickstart", @@ -18,10 +17,6 @@ ], "contract-quickstart": [], "frontend-quickstart": [], - "running_a_node": [ - "Running a Local Node", - "Running a Testnet Node" - ], "intro_to_sway": [ "Introduction to Sway", "Prerequisites", diff --git a/docs/guides/docs/running-a-node/index.mdx b/docs/guides/docs/running-a-node/index.mdx deleted file mode 100644 index ffd0c909a..000000000 --- a/docs/guides/docs/running-a-node/index.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Running a Node -category: Running a Node -parent: - label: All Guides - link: /guides ---- - -# Running a Node - -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). - -## Understanding the Fuel Network's Beta Testnet Consensus Mechanism - -The Fuel network's beta testnets operates on a Proof of Authority (PoA) consensus mechanism. Here's a brief overview: - -**Validators**: In PoA, there are specific entities, known as validators or "authorities", who are given the responsibility to create new blocks and validate transactions. Unlike other consensus mechanisms like Proof of Work (PoW) or Proof of Stake (PoS), where validators are chosen based on computational power or stake, PoA validators are selected based on their reputation and trustworthiness within the network. - -**Benefits** of PoA: PoA offers faster transaction times and requires less computational power, making it energy-efficient. The network's security and integrity are maintained by the trustworthiness of the selected validators. - -## Why Run Your Own Node? - -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. - -## Hardware Requirements - -| Hardware | Minimum | Recommended | -|------------|----------|-------------| -| Processor | 2 Cores | 8 Cores | -| Memory | 8 GB | 16 GB | -| Storage | 500 GB | 1 TB | - -For low API traffic, an AWS m5.large should be more than sufficient. However, we recommend an AWS m5.4xlarge instance to match the configuration we use for running the network. - -> For regular tasks such as deploying simple contracts and testing contract interactions locally, there is no need to meet all the hardware requirements below. - -## Getting Started - -Depending on your requirements, you can opt for one of the following setups: - -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 Testnet Fuel Network:](/guides/running-a-node/running-a-testnet-node) With this setup, your local node will connect and sync with the {props.fuelTestnet} version of the Fuel network. -3. [Connect to the Mainnet Fuel Network:](/guides/running-a-node/running-a-mainnet-node) With this setup, your local node will connect and sync with the Mainnet version of the Fuel network. 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 deleted file mode 100644 index 0081187b9..000000000 --- a/docs/guides/docs/running-a-node/running-a-local-node.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: Running a Local Node -category: Running a Node -parent: - label: All Guides - link: /guides ---- - -# Running a local Fuel node - -In addition to deploying and testing on the Fuel Testnet, you can also run a local Fuel Node. - -There are two types of Fuel networks that can be run: - -1. In-memory network (without persistence) -2. Local network with persistence - -## 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. - -First ensure your environments [open files limit](https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user) `ulimit` is increased, example: - -```sh -ulimit -S -n 32768 -``` - -After ensuring your file limit is increased, to spin-up a local in-memory Fuel node download or copy the local snapshot from [here](https://github.com/FuelLabs/chain-configuration/tree/master/local), then run the following command: - -```sh -fuel-core run --db-type in-memory --debug --snapshot ./your/path/to/chain_config_folder -``` - -To deploy a contract to the local node, run the following command: - -```sh -forc deploy --node-url 127.0.0.1:4000/v1/graphql -``` - -Or to deploy with the default signer that is pre-funded by fuel-core: - -```sh -forc deploy --default-signer --node-url 127.0.0.1:4000/v1/graphql -``` - -## Chain Configuration - -To modify the initial state of the chain, you must configure the `state_config.json` file in your chain configuration folder. -Here is an example of what that looks like using version {props.fuelCoreVersion} of `fuel-core`: - -For simplicity, clone the [repository](https://github.com/FuelLabs/chain-configuration/tree/master) into the directory of your choice. - -When using the `--snapshot` flag later, you can replace `./your/path/to/chain_config_folder` with the `local` folder of the repository you just cloned `./chain-configuration/local/`. - -To start the node with a custom configuration, you can use the command below: - -```sh -fuel-core run --snapshot ./your/path/to/chain_config_folder --db-type in-memory --debug -``` - -To find an example `local` chain configuration folder for a specific `fuel-core` version, refer to the [`chain-configuration/local`](https://github.com/FuelLabs/chain-configuration/tree/master/local) repo. - -### Funding a wallet locally - -You can edit the `coins` array inside `state_config.json` to modify the initial assets owned by a given address. - -The `owner` address must be a `B256` type address (begins with `0x`) instead of a `Bech32` type (begins with `fuel`). - -The `amount` is a numerical value. In the example below, the value translates to 1 ETH. - -```json -"coins": [ - { - "tx_id": "0x0000000000000000000000000000000000000000000000000000000000000001", - "output_index": 0, - "tx_pointer_block_height": 0, - "tx_pointer_tx_idx": 0, - "owner": "0x488284d46414347c78221d3bad71dfebcff61ab2ae26d71129701d50796f714d", - "amount": 1000000000, - "asset_id": "0xf8f8b6283d7fa5b672b530cbb84fcccb4ff8dc40f8176ef4544ddb1f1952ad07" - } -] -``` - -## Local node (with state persistence) - -This node does persist the blockchain state locally. -To run a local node with persistence a chain configuration file is required. - -To start the node, run the following command: - -```sh -fuel-core run --ip 127.0.0.1 --port 4000 --snapshot ./your/path/to/chain_config_folder --db-path ./.fueldb --debug -``` - -## Connecting to the local node from a browser wallet - -To connect to the local node using a browser wallet, import the network address as: - -```sh -http://127.0.0.1:4000/v1/graphql -``` diff --git a/docs/guides/docs/running-a-node/running-a-mainnet-node.mdx b/docs/guides/docs/running-a-node/running-a-mainnet-node.mdx deleted file mode 100644 index 514ef22b0..000000000 --- a/docs/guides/docs/running-a-node/running-a-mainnet-node.mdx +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: Running a Mainnet Node -category: Running a Node -parent: - label: All Guides - link: /guides ---- - -# Running a local Fuel node connected to Mainnet using P2P - -## Installation - - - - - - - -## Getting a mainnet Ethereum API Key - -{/*get_ethereum_api_key:example:start*/} -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: -{/*get_ethereum_api_key:example:end*/} - -### Infura - -{/*// ANCHOR: infura_key*/} - -```sh -https://mainnet.infura.io/v3/{YOUR_API_KEY} -``` - -{/*// ANCHOR_END: infura_key*/} - -### Alchemy - -{/*// ANCHOR: alchemy_key*/} - -```sh -https://eth-mainnet.g.alchemy.com/v2/{YOUR_API_KEY} -``` - -{/*// ANCHOR_END: alchemy_key*/} - -{/*get_ethereum_api_key_end:example:start*/} -Note that using other network endpoints will result in the relayer failing to start. -{/*get_ethereum_api_key_end:example:end*/} - -## Generating a P2P Key - -{/*generate_fuel_p2p_key:example:start*/} -Generate a new P2P key pairing by running the following command: -{/*generate_fuel_p2p_key:example:end*/} - -{/*// ANCHOR: generate_fuel_p2p_key_command*/} - -```sh -fuel-core-keygen new --key-type peering -{ - "peer_id":"16Uiu2HAmEtVt2nZjzpXcAH7dkPcFDiL3z7haj6x78Tj659Ri8nrs", - "secret":"b0ab3227974e06d236d265bd1077bb0522d38ead16c4326a5dff2f30edf88496", - "type":"peering" -} -### Do not share or lose this private key! Press any key to complete. ### -``` - -{/*// ANCHOR_END: generate_fuel_p2p_key_command*/} - -{/*generate_fuel_p2p_key_end:example:start*/} -Make sure you save this somewhere safe so you don't need to generate a new key pair in the future. -{/*generate_fuel_p2p_key_end:example:end*/} - -## Chain Configuration - -To run a local node with persistence, you must have a folder with the following chain configuration files: - -For simplicity, clone the [repository](https://github.com/FuelLabs/chain-configuration/tree/master) into the directory of your choice. - -When using the `--snapshot` flag later, you can replace `./your/path/to/chain_config_folder` with the `ignition` folder of the repository you just cloned `./chain-configuration/ignition/`. - -## Running a Local Node - -First ensure your environments [open files limit](https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user) `ulimit` is increased, example: - -```sh -ulimit -S -n 32768 -``` - -> Please make sure you have the [latest version](https://docs.fuel.network/guides/installation/#updating-fuelup) of the Fuel toolchain installed and properly configured before continuing. - -{/*running_a_local_node:example:start*/} -Finally to put everything together to start the node, run the following command: -{/*running_a_local_node:example:end*/} - -```sh -fuel-core run \ ---enable-relayer \ ---service-name fuel-mainnet-node \ ---keypair {P2P_PRIVATE_KEY} \ ---relayer {ETHEREUM_RPC_ENDPOINT} \ ---ip=0.0.0.0 --port 4000 --peering-port 30333 \ ---db-path ~/.fuel-mainnet \ ---snapshot ./your/path/to/chain_config_folder \ ---utxo-validation --poa-instant false --enable-p2p \ ---bootstrap-nodes /dnsaddr/mainnet.fuel.network \ ---sync-header-batch-size 100 \ ---relayer-v2-listening-contracts=0xAEB0c00D0125A8a788956ade4f4F12Ead9f65DDf \ ---relayer-da-deploy-height=20620434 \ ---relayer-log-page-size=100 \ ---sync-block-stream-buffer-size 30 -``` - -{/*running_a_local_node_end:example:start*/} -For the full description details of each flag above, run: -{/*running_a_local_node_end:example:end*/} - -{/*// ANCHOR: fuel_core_help_command*/} - -```sh -fuel-core run --help -``` - -{/*// ANCHOR_END: fuel_core_help_command*/} - -## Connecting to the local node from a browser wallet - -{/*connecting_to_local_node:example:start*/} -To connect to the local node using a browser wallet, import the network address as: -{/*connecting_to_local_node:example:end*/} - -{/*// ANCHOR: connecting_to_local_node_endpoint*/} - -```sh -http://0.0.0.0:4000/v1/graphql -``` - -{/*// ANCHOR_END: connecting_to_local_node_endpoint*/} diff --git a/docs/guides/docs/running-a-node/running-a-testnet-node.mdx b/docs/guides/docs/running-a-node/running-a-testnet-node.mdx deleted file mode 100644 index 6aa7d2ed3..000000000 --- a/docs/guides/docs/running-a-node/running-a-testnet-node.mdx +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Running a Testnet Node -category: Running a Node -parent: - label: All Guides - link: /guides ---- - -# Running a local Fuel node connected to Testnet using P2P - -## Installation - - - - - - - -## Getting a Sepolia (Ethereum Testnet) API Key - -{/*get_ethereum_api_key:example:start*/} -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: -{/*get_ethereum_api_key:example:end*/} - -### Infura - -{/*// ANCHOR: infura_key*/} - -```sh -https://sepolia.infura.io/v3/{YOUR_API_KEY} -``` - -{/*// ANCHOR_END: infura_key*/} - -### Alchemy - -{/*// ANCHOR: alchemy_key*/} - -```sh -https://eth-sepolia.g.alchemy.com/v2/{YOUR_API_KEY} -``` - -{/*// ANCHOR_END: alchemy_key*/} - -{/*get_ethereum_api_key_end:example:start*/} -Note that using other network endpoints will result in the relayer failing to start. -{/*get_ethereum_api_key_end:example:end*/} - -## Generating a P2P Key - -{/*generate_fuel_p2p_key:example:start*/} -Generate a new P2P key pairing by running the following command: -{/*generate_fuel_p2p_key:example:end*/} - -{/*// ANCHOR: generate_fuel_p2p_key_command*/} - -```sh -fuel-core-keygen new --key-type peering -{ - "peer_id":"16Uiu2HAmEtVt2nZjzpXcAH7dkPcFDiL3z7haj6x78Tj659Ri8nrs", - "secret":"b0ab3227974e06d236d265bd1077bb0522d38ead16c4326a5dff2f30edf88496", - "type":"peering" -} -### Do not share or lose this private key! Press any key to complete. ### -``` - -{/*// ANCHOR_END: generate_fuel_p2p_key_command*/} - -{/*generate_fuel_p2p_key_end:example:start*/} -Make sure you save this somewhere safe so you don't need to generate a new key pair in the future. -{/*generate_fuel_p2p_key_end:example:end*/} - -## Chain Configuration - -To run a local node with persistence, you must have a folder with the following chain configuration files: - -For simplicity, clone the [repository](https://github.com/FuelLabs/chain-configuration/tree/master) into the directory of your choice. - -When using the `--snapshot` flag later, you can replace `./your/path/to/chain_config_folder` with the `ignition-test` folder of the repository you just cloned `./chain-configuration/ignition-test/`. - -## Running a Local Node - -First ensure your environments [open files limit](https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user) `ulimit` is increased, example: - -```sh -ulimit -S -n 32768 -``` - -{/*running_a_local_node:example:start*/} -Finally to put everything together to start the node, run the following command: -{/*running_a_local_node:example:end*/} - -```sh -fuel-core run \ ---service-name=fuel-sepolia-testnet-node \ ---keypair {P2P_PRIVATE_KEY} \ ---relayer {ETHEREUM_RPC_ENDPOINT} \ ---ip=0.0.0.0 --port=4000 --peering-port=30333 \ ---db-path=~/.fuel-sepolia-testnet \ ---snapshot ./your/path/to/chain_config_folder \ ---utxo-validation --poa-instant false --enable-p2p \ ---reserved-nodes /dns4/p2p-testnet.fuel.network/tcp/30333/p2p/16Uiu2HAmDxoChB7AheKNvCVpD4PHJwuDGn8rifMBEHmEynGHvHrf \ ---sync-header-batch-size 100 \ ---enable-relayer \ ---relayer-v2-listening-contracts=0x01855B78C1f8868DE70e84507ec735983bf262dA \ ---relayer-da-deploy-height=5827607 \ ---relayer-log-page-size=500 \ ---sync-block-stream-buffer-size 30 -``` - -{/*running_a_local_node_end:example:start*/} -For the full description details of each flag above, run: -{/*running_a_local_node_end:example:end*/} - -{/*// ANCHOR: fuel_core_help_command*/} - -```sh -fuel-core run --help -``` - -{/*// ANCHOR_END: fuel_core_help_command*/} - -## Connecting to the local node from a browser wallet - -{/*connecting_to_local_node:example:start*/} -To connect to the local node using a browser wallet, import the network address as: -{/*connecting_to_local_node:example:end*/} - -{/*// ANCHOR: connecting_to_local_node_endpoint*/} - -```sh -http://0.0.0.0:4000/v1/graphql -``` - -{/*// ANCHOR_END: connecting_to_local_node_endpoint*/} diff --git a/docs/nightly/node-operator b/docs/nightly/node-operator new file mode 160000 index 000000000..642e369a8 --- /dev/null +++ b/docs/nightly/node-operator @@ -0,0 +1 @@ +Subproject commit 642e369a80059331e4c1c7adf1773805522915ca diff --git a/docs/node-operator b/docs/node-operator new file mode 160000 index 000000000..642e369a8 --- /dev/null +++ b/docs/node-operator @@ -0,0 +1 @@ +Subproject commit 642e369a80059331e4c1c7adf1773805522915ca diff --git a/scripts/clean-build-files.mjs b/scripts/clean-build-files.mjs index ff0698d26..2c26b4423 100644 --- a/scripts/clean-build-files.mjs +++ b/scripts/clean-build-files.mjs @@ -32,6 +32,8 @@ const targetDirs = [ './docs/nightly/fuel-token-overview', './docs/integration-docs', './docs/nightly/integration-docs', + './docs/node-operator', + './docs/nightly/node-operator', ]; // Exclusions for each type of directory @@ -81,6 +83,7 @@ const exclusions = { verified_addresses: ['verified-addresses/docs'], fuel_token_overview: ['fuel-token-overview/docs'], integration_docs: ['integration-docs/docs'], + node_operator: ['node-operator/docs'], }; function main() { diff --git a/scripts/generate-links/getDocs.mjs b/scripts/generate-links/getDocs.mjs index 6c2c2a848..c7e85a636 100644 --- a/scripts/generate-links/getDocs.mjs +++ b/scripts/generate-links/getDocs.mjs @@ -172,6 +172,24 @@ export async function getDocs(key, order) { '!**/SUMMARY.md', ]; break; + case 'node-operator': + paths = [ + // INTEGRATION DOCS + './node-operator/docs/src/**/*.md', + './node-operator/docs/src/*.md', + // IGNORE ALL SUMMARY PAGES + '!**/SUMMARY.md', + ]; + break; + case 'nightly-node-operator': + paths = [ + // INTEGRATION DOCS + './nightly/node-operator/docs/src/**/*.md', + './nightly/node-operator/docs/src/*.md', + // IGNORE ALL SUMMARY PAGES + '!**/SUMMARY.md', + ]; + break; case 'forc': paths = [ // FORC DOCS diff --git a/scripts/generate-links/getOrders.mjs b/scripts/generate-links/getOrders.mjs index 3cb24e1c6..b5e1c0185 100644 --- a/scripts/generate-links/getOrders.mjs +++ b/scripts/generate-links/getOrders.mjs @@ -13,6 +13,10 @@ const CONFIG = { type: 'mdbook', path: './fuel-book/docs/src/SUMMARY.md', }, + 'node-operator': { + type: 'mdbook', + path: './node-operator/docs/src/SUMMARY.md', + }, 'integration-docs': { type: 'mdbook', path: './integration-docs/docs/src/SUMMARY.md', diff --git a/scripts/generate-links/index.mjs b/scripts/generate-links/index.mjs index 2384499f6..ac8db6125 100644 --- a/scripts/generate-links/index.mjs +++ b/scripts/generate-links/index.mjs @@ -115,6 +115,9 @@ function getSidebarName(key) { case 'integration-docs': newKey = 'Integrations'; break; + case 'node-operator': + newKey = 'Node Operator'; + break; default: } @@ -128,6 +131,7 @@ function handleAllOrders(allOrders, folderPath, filename) { 'fuel-book', 'fuel-token-overview', 'verified-addresses', + 'node-operator', 'guides', 'sway', 'sway-libs', diff --git a/src/components/SidebarSection.tsx b/src/components/SidebarSection.tsx index d3b5e80ed..72b1e1a57 100644 --- a/src/components/SidebarSection.tsx +++ b/src/components/SidebarSection.tsx @@ -73,6 +73,9 @@ export function SidebarSection({ case 'Integration-docs': githubLink = 'https://github.com/FuelLabs/integration-docs'; break; + case 'Node-Operator': + githubLink = 'https://github.com/FuelLabs/node-operator'; + break; default: break; } diff --git a/src/config/docs.json b/src/config/docs.json index 0135018c1..c1938f4fa 100644 --- a/src/config/docs.json +++ b/src/config/docs.json @@ -17,6 +17,15 @@ "image": "" } }, + "node-operator": { + "title": "Node Operator", + "slug": "node-operator", + "repository": "https://github.com/FuelLabs/node-operator", + "ogTags": { + "description": "Node Operator", + "image": "" + } + }, "integration-docs": { "title": "Integrations", "slug": "integration-docs", diff --git a/src/lib/md-doc.ts b/src/lib/md-doc.ts index 2aef3be81..42bbec790 100644 --- a/src/lib/md-doc.ts +++ b/src/lib/md-doc.ts @@ -74,7 +74,8 @@ export class Doc { .replace('docs/fuel-book/', '') .replace('docs/verified-addresses/', '') .replace('docs/fuel-token-overview/', '') - .replace('docs/fuel-specs/', '')}`; + .replace('docs/fuel-specs/', '') + .replace('docs/node-operator/', '')}`; let pageLink = `${config.repository}${actualPath.replace( 'tree/master/docs/sway-libs/docs', From c1c9781f8d4681b3b4ff6809a99a924d3f3e4643 Mon Sep 17 00:00:00 2001 From: Call Delegation <106365423+calldelegation@users.noreply.github.com> Date: Wed, 5 Feb 2025 01:44:23 -0500 Subject: [PATCH 4/5] docs: Update TS SDK v0.99.0, Broken Link, and Sway Libs v0.24.2 (#594) * ready * update * fix --- docs/fuels-ts | 2 +- docs/nightly/fuels-ts | 2 +- docs/nightly/sway-libs | 2 +- docs/sway-libs | 2 +- src/components/QuickstartCards.tsx | 4 ++-- src/config/versions.json | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/fuels-ts b/docs/fuels-ts index d633eaf29..01375ce29 160000 --- a/docs/fuels-ts +++ b/docs/fuels-ts @@ -1 +1 @@ -Subproject commit d633eaf295f7842195f46e422d6678b783b63251 +Subproject commit 01375ce29bf5f18b5d8f5e97fec5d82f4fb6ae5f diff --git a/docs/nightly/fuels-ts b/docs/nightly/fuels-ts index d633eaf29..01375ce29 160000 --- a/docs/nightly/fuels-ts +++ b/docs/nightly/fuels-ts @@ -1 +1 @@ -Subproject commit d633eaf295f7842195f46e422d6678b783b63251 +Subproject commit 01375ce29bf5f18b5d8f5e97fec5d82f4fb6ae5f diff --git a/docs/nightly/sway-libs b/docs/nightly/sway-libs index 9a94bfc14..55d503c50 160000 --- a/docs/nightly/sway-libs +++ b/docs/nightly/sway-libs @@ -1 +1 @@ -Subproject commit 9a94bfc141743bcb892b74cb55cdc973cd643447 +Subproject commit 55d503c50281e775655e00282064e629f357dcfc diff --git a/docs/sway-libs b/docs/sway-libs index 9a94bfc14..55d503c50 160000 --- a/docs/sway-libs +++ b/docs/sway-libs @@ -1 +1 @@ -Subproject commit 9a94bfc141743bcb892b74cb55cdc973cd643447 +Subproject commit 55d503c50281e775655e00282064e629f357dcfc diff --git a/src/components/QuickstartCards.tsx b/src/components/QuickstartCards.tsx index 3cefa6c59..800b55af6 100644 --- a/src/components/QuickstartCards.tsx +++ b/src/components/QuickstartCards.tsx @@ -54,8 +54,8 @@ export function QuickstartCards() { diff --git a/src/config/versions.json b/src/config/versions.json index fbd28039c..70fecee54 100644 --- a/src/config/versions.json +++ b/src/config/versions.json @@ -2,9 +2,9 @@ "default": { "forc": "0.66.6", "rust": "0.70.0", - "ts": "0.98.0", + "ts": "0.99.0", "wallet": "0.47.0", - "sway_libs": "0.24.1", + "sway_libs": "0.24.2", "sway_standards": "0.6.3" } } \ No newline at end of file From bb1df4e8aa5b6ac68c28014dddfa1d9ae63715b6 Mon Sep 17 00:00:00 2001 From: Call Delegation <106365423+calldelegation@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:35:55 -0500 Subject: [PATCH 5/5] docs: Update Migration Notes for TS v0.99.0 (#595) --- docs/migrations-and-disclosures | 2 +- docs/nightly/migrations-and-disclosures | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/migrations-and-disclosures b/docs/migrations-and-disclosures index bf130c49d..bca93c0d9 160000 --- a/docs/migrations-and-disclosures +++ b/docs/migrations-and-disclosures @@ -1 +1 @@ -Subproject commit bf130c49d09e461a28ed2294f3a34b6f36220d87 +Subproject commit bca93c0d980631918e61058574565ca963330033 diff --git a/docs/nightly/migrations-and-disclosures b/docs/nightly/migrations-and-disclosures index bf130c49d..bca93c0d9 160000 --- a/docs/nightly/migrations-and-disclosures +++ b/docs/nightly/migrations-and-disclosures @@ -1 +1 @@ -Subproject commit bf130c49d09e461a28ed2294f3a34b6f36220d87 +Subproject commit bca93c0d980631918e61058574565ca963330033