From 605532decae2dcbcb8a89ba25d33f56449a598c2 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Sun, 24 Sep 2023 13:03:08 -0500 Subject: [PATCH 01/19] docs: installation guide --- docs/guides/docs/guides.json | 4 + docs/guides/docs/installation/index.mdx | 225 ++++++++++++++++++++++++ docs/guides/docs/nav.json | 1 + 3 files changed, 230 insertions(+) create mode 100644 docs/guides/docs/installation/index.mdx diff --git a/docs/guides/docs/guides.json b/docs/guides/docs/guides.json index 254b86c22..047e0ee56 100644 --- a/docs/guides/docs/guides.json +++ b/docs/guides/docs/guides.json @@ -1,4 +1,8 @@ { + "installation": { + "title": "Toolchain Installation", + "description": "Install Fuel toolchain and binaries." + }, "quickstart": { "title": "Developer Quickstart", "description": "Get started by building a counter dApp in Fuel" diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx new file mode 100644 index 000000000..e7163e2be --- /dev/null +++ b/docs/guides/docs/installation/index.mdx @@ -0,0 +1,225 @@ +--- +title: Installation +category: Installation +parent: + label: Guides + link: /guides +--- + +# Toolchain Installation + +This guide will help you to install the Fuel toolchain binaries and pre requisites. + + +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 + +The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the rustup tool. + +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. + +```console +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` + +Check the official Rust documentation to get more information on [installing the Rust toolchain](https://www.rust-lang.org/tools/install). + +## Installing the fuel toolchain using fuelup + +_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. + +> πŸ’‘ Check up the [Fuelup docs](docs/fuelup) for more information. + + +### Running fuelup-init + +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`. + +πŸ‘‰ Just paste the following line in your terminal and press _Enter_. + +```sh +curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh +``` + +> 🚧 Be aware that currently we do not natively support Windows. If you wish to use fuelup on Windows, please use Windows Subsystem for Linux. + +### Setup PATH + +Once the script is downloaded it will be executed automatically. The `fuelup-init` script will prompt something as this. + +```sh +fuelup uses "/home/username/.fuelup" as its home directory to manage the Fuel toolchain, and will install binaries there. + +To use the toolchain, you will have to configure your PATH, which tells your machine where to locate fuelup and the Fuel toolchain. + +If permitted, fuelup-init will configure your PATH for you by running the following: + + echo "export PATH="$HOME/.fuelup/bin:$PATH"" >> /home/username/.bashrc + +Would you like fuelup-init to modify your PATH variable for you? (N/y) +``` + +πŸ‘‰ If this is your first time installing the Fuel toolchain just press the `Y` key in your terminal and press _Enter_ + +Basically you are allowing your terminal to use the `fuelup` command. + +### 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: + +```sh +The Fuel toolchain is installed and up to date + +fuelup 0.19.5 has been installed in /home/username/.fuelup/bin. +To fetch the latest toolchain containing the forc and fuel-core binaries, run 'fuelup toolchain install latest'. +To generate completions for your shell, run 'fuelup completions --shell=SHELL'. +``` + +πŸ‘‰ Use `fuelup --version`any time to check which version of the package you are using. + +```sh + fuelup --version +``` +That will output your current `fuelup` verison: + +```sh +fuelup 0.19.5 +``` + + +## Setting up a default toolchain + +Just as seen 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 toolchain with packages tested to work with each other, providing a realiable 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. + + +### Updating fuelup + +Make sure you have the latest version of `fuelup` so you can accesses the latest features and have the best performance. + +πŸ‘‰ Update `fuelup` by running the following command: + +```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 +Unpacking and moving fuelup to /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt +Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Users/.fuelup/bin/fuelup +``` + +### Installing the beta-4 toolchain + +The beta-4 network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). + +> πŸ’‘ Check up the [Networks section](docs/about-fuel) for more information. + +To properly interact with the `beta-4` network is necessary to use it's corresponding toolchain. + +πŸ‘‰ Run the following command to install the `beta-4`: + +```console +fuelup toolchain install beta-4 +``` +If the toolchain was successfully installed, you will see this output: + +```sh +The Fuel toolchain is installed and up to date +``` + +The toolchain was installed correctly, however is in use yet. You need to indicate `fuelup` to use the `beta-4` toolchain. + +πŸ‘‰ set the `beta-4` as your default toolchain with the following command: + +```console +fuelup default beta-4 +``` + +You will get the following output indicating that you are ready to go. + +```console +default toolchain set to 'beta-4' +``` + +### Checking your current toolchain + +Sometimes you might end up using multiples toolchain at once, don't worry if you get confused about wich toolchain your are using since you can check your current toolchain anytime. + +πŸ‘‰ Run the `fuelup show` command to see toolchain that your are using and the version of the binaries of that toolchain. + +```sh +fuelup show +``` + +This command will give you the following output + +```sh +active toolchain +----------------- +beta-4-x86_64-unknown-linux-gnu (default) + forc : 0.45.0 + - forc-client + - forc-deploy : 0.45.0 + - forc-run : 0.45.0 + - forc-doc : 0.45.0 + - forc-explore : 0.28.1 + - forc-fmt : 0.45.0 + - forc-index : 0.20.7 + - forc-lsp : 0.45.0 + - forc-tx : 0.45.0 + - forc-wallet : 0.3.0 + fuel-core : 0.20.4 + fuel-core-keygen : Error getting version string + fuel-indexer : 0.20.7 + +fuels versions +--------------- +forc : 0.45 +forc-wallet : 0.45 +``` + +As you can see the beta-4 toolchain is active πŸš€ + +## What's next? + +Now you are ready to start building with Fuel. + +πŸ‘‰ Check out the [quickstart guide](/guides/quickstart) to deploy your first smart contract. + +## Beyond the basics + +### 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. + +### Use Nix to install Fuel toolchain + +Nix is a cross-platform package manager for advanced users. + +> πŸ‘‰ Check out the [Nix flake for Fuel](/docs/nix) to learn more. + +### Build form source + +You can always build the Fuel packages from source. + +> πŸ‘‰ visit the [Fuelup docs](docs/fuelup/install/other) to get more details other types of installation. + + +### Github codespaces + +It's always possible to run a developement enviroment on the browser. + +> πŸ‘‰ Please visit our guide on [Github Codespaces](guides/install/codespaces) to use the Fuel Toolchain on the browser. \ No newline at end of file diff --git a/docs/guides/docs/nav.json b/docs/guides/docs/nav.json index 2ae7112e2..8cb8b58ca 100644 --- a/docs/guides/docs/nav.json +++ b/docs/guides/docs/nav.json @@ -1,5 +1,6 @@ { "menu": ["Quickstart", "Running a Node", "Testnet Migration"], + "installation": ["Fuel Github Codespace"], "quickstart": ["Building a Smart Contract", "Building a Frontend"], "running_a_node": ["Running a Local Node", "Running a Beta-4 Node"], "testnet_migration": ["Beta 4 Testnet Migration"] From aaf92c7c7e0842da0e33919be37587aabe7bbc3e Mon Sep 17 00:00:00 2001 From: cold-briu Date: Sun, 24 Sep 2023 13:03:22 -0500 Subject: [PATCH 02/19] docs: codespace guide --- docs/guides/docs/installation/codespace.mdx | 73 ++++++++++++++++++++ public/images/create-codespace.gif | Bin 0 -> 127712 bytes public/images/dev-container.gif | Bin 0 -> 123209 bytes 3 files changed, 73 insertions(+) create mode 100644 docs/guides/docs/installation/codespace.mdx create mode 100644 public/images/create-codespace.gif create mode 100644 public/images/dev-container.gif diff --git a/docs/guides/docs/installation/codespace.mdx b/docs/guides/docs/installation/codespace.mdx new file mode 100644 index 000000000..c15e53e32 --- /dev/null +++ b/docs/guides/docs/installation/codespace.mdx @@ -0,0 +1,73 @@ +--- +title: Fuel Github Codespace +category: Installation +parent: + label: Guides + link: /guides +--- + +# Github Codespace + +### 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 VSCode plugins are supported, the Sway LSP plugin is supported and works out of the box. + +### 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 contaienr walktrough](/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”. + + ```json + "customizations": { + "vscode": { + "extensions": [ + "fuellabs.sway-vscode-plugin" + ] + } + } + ``` + + Here are examples that include the Sway LSP plugin. + + 1. [https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json) + 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 codespaces configured. +2. Choose Code β†’ Create codespace on master + + +![Create codespace walktrough](/images/create-codespace.gif) + + +3. This will open a new tab with your codespace. It can take several minutes to start up. + 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 definition, etc. + 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. + +### Suggested uses + +This is a great tool for hackathons! Users can easily get started with a full development environment without having to install anything on their personal machine, which could be a barrier for people who are new to Fuel/Sway. + +### Pricing & billing + +For all contributors that are part of the Github organization, Codespaces is billed to Fuel. For other users, they will be required to enter billing information. There is a substantial free tier so hackathon users don’t have to worry about getting billed as long as they shut down the codespace when they’re finished using it. + +## What's next? + +Now you are ready to start building with Fuel, check out the [quickstart guide](/guides/quickstart) to get started. diff --git a/public/images/create-codespace.gif b/public/images/create-codespace.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b3beb0c4b289f1562adec54bb3f3ccedbbdf6ca GIT binary patch literal 127712 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

~b~E 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≪ZrW(N*e?Y45A^N2H$Vi~u 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 Date: Sun, 24 Sep 2023 18:06:20 -0500 Subject: [PATCH 03/19] docs: added fuel nix --- .gitmodules | 3 +++ contentlayer.config.ts | 4 +++- docs/fuel-nix | 1 + docs/guides/docs/installation/codespace.mdx | 4 +++- scripts/generate-links.mjs | 16 ++++++++++++++++ src/config/constants.ts | 9 ++++++++- src/config/docs.json | 9 +++++++++ src/config/paths.json | 3 ++- 8 files changed, 45 insertions(+), 4 deletions(-) create mode 160000 docs/fuel-nix diff --git a/.gitmodules b/.gitmodules index 04c7b81e4..4d6d8b313 100644 --- a/.gitmodules +++ b/.gitmodules @@ -27,3 +27,6 @@ [submodule "docs/fuel-specs"] path = docs/fuel-specs url = https://github.com/FuelLabs/fuel-specs.git +[submodule "docs/fuel-nix"] + path = docs/fuel-nix + url = git@github.com:FuelLabs/fuel.nix.git diff --git a/contentlayer.config.ts b/contentlayer.config.ts index 07c304b4f..02407a658 100644 --- a/contentlayer.config.ts +++ b/contentlayer.config.ts @@ -59,6 +59,7 @@ const includeDirs = [ 'docs/fuel-graphql-docs/docs', 'docs/fuels-wallet/packages/docs/docs', 'docs/guides/docs', + 'docs/fuel-nix/book/src', // 'docs/about-fuel', ]; @@ -73,7 +74,8 @@ const excludeDirs = [ 'docs/fuels-rs/docs/src/SUMMARY.md', 'docs/fuel-indexer/docs/src/SUMMARY.md', 'docs/fuel-specs/src/SUMMARY.md', -]; + 'docs/fuel-nix/book/src/SUMMARY.md', +];0 export default makeSource({ contentDirPath: './', diff --git a/docs/fuel-nix b/docs/fuel-nix new file mode 160000 index 000000000..df1449582 --- /dev/null +++ b/docs/fuel-nix @@ -0,0 +1 @@ +Subproject commit df1449582340f8ec644f75cb34595eb856238ec8 diff --git a/docs/guides/docs/installation/codespace.mdx b/docs/guides/docs/installation/codespace.mdx index c15e53e32..bbbea36b1 100644 --- a/docs/guides/docs/installation/codespace.mdx +++ b/docs/guides/docs/installation/codespace.mdx @@ -70,4 +70,6 @@ For all contributors that are part of the Github organization, Codespaces is bil ## What's next? -Now you are ready to start building with Fuel, check out the [quickstart guide](/guides/quickstart) to get started. +Now you are ready to start building with Fuel. + +πŸ‘‰ Check out the [quickstart guide](/guides/quickstart) to deploy your first smart contract. diff --git a/scripts/generate-links.mjs b/scripts/generate-links.mjs index fbb2b2bdb..0a9c67bdb 100644 --- a/scripts/generate-links.mjs +++ b/scripts/generate-links.mjs @@ -13,6 +13,7 @@ const indexerSummaryPath = join( './fuel-indexer/docs/src/SUMMARY.md' ); const specsSummaryPath = join(DOCS_DIRECTORY, './fuel-specs/src/SUMMARY.md'); +const nixSummaryPath = join(DOCS_DIRECTORY, './fuel-nix/book/src/SUMMARY.md'); const graphqlOrderPath = join( DOCS_DIRECTORY, @@ -42,6 +43,8 @@ const specsSummaryFile = fs.readFileSync(specsSummaryPath, 'utf8'); const graphqlOrderFile = JSON.parse(fs.readFileSync(graphqlOrderPath, 'utf8')); const guidesOrderFile = JSON.parse(fs.readFileSync(guidesOrderPath, 'utf8')); const walletOrderFile = JSON.parse(fs.readFileSync(walletOrderPath, 'utf8')); +const nixSummaryFile = fs.readFileSync(nixSummaryPath, 'utf8'); + // const aboutFuelOrderFile = JSON.parse( // fs.readFileSync(aboutFuelOrderPath, 'utf8') // ); @@ -247,6 +250,9 @@ async function getOrders() { orders.indexer = processSummary(indexerSummaryFile.split(EOL), 'indexer'); // SPECS ORDER orders.specs = processSummary(specsSummaryFile.split(EOL), 'specs'); + + orders.nix = processSummary(nixSummaryFile.split(EOL), 'specs'); + // GRAPHQL ORDER orders.graphql = graphqlOrderFile; @@ -487,6 +493,15 @@ async function getDocs(key, order) { '!**/SUMMARY.md', ]; break; + case 'nix': + paths = [ + // SPECS DOCS + './fuel-nix/book/src/*.md', + './fuel-nix/book/src/**/*.md', + // IGNORE ALL SUMMARY PAGES + '!**/SUMMARY.md', + ]; + break; // case 'about-fuel': // paths = [ // // ABOUT FUEL DOCS @@ -566,6 +581,7 @@ function removeDocsPath(path, duplicateAPICategories) { } } + return newPath; } diff --git a/src/config/constants.ts b/src/config/constants.ts index 8c15b5d96..59f6b5e2d 100644 --- a/src/config/constants.ts +++ b/src/config/constants.ts @@ -15,7 +15,8 @@ export type Tabs = | 'indexer' | 'specs' // | 'about-fuel' - | 'forc'; + | 'forc' + | 'nix'; export type LinkType = 'menu' | 'internal-link' | 'external-link' | 'category'; @@ -97,6 +98,12 @@ export const NAVIGATION: LinkObject[] = [ link: '/docs/indexer/', slug: 'indexer', }, + { + name: 'Fuel Nix', + type: 'internal-link', + link: '/docs/nix/', + slug: 'nix', + }, ], }, { diff --git a/src/config/docs.json b/src/config/docs.json index 5fa23c8cc..1864f3b4e 100644 --- a/src/config/docs.json +++ b/src/config/docs.json @@ -97,5 +97,14 @@ "description": "Official documentation for the Fuel Orchestrator", "image": "" } + }, + "nix": { + "title": "Fuel Nix", + "slug": "nix", + "repository": "https://github.com/FuelLabs/fuel.nix/tree/master", + "ogTags": { + "description": "Official Nix flack for the Fuel Network", + "image": "" + } } } diff --git a/src/config/paths.json b/src/config/paths.json index 884d62283..f59b86b72 100644 --- a/src/config/paths.json +++ b/src/config/paths.json @@ -15,5 +15,6 @@ "fuel-graphql-docs": "graphql", "fuel-specs": "specs", "fuel-indexer": "indexer", - "fuels-wallet": "wallet" + "fuels-wallet": "wallet", + "fuel-nix": "nix" } From a286bf7e8f95c98cb5264dc9f55fac6402c40ac0 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Mon, 25 Sep 2023 10:02:31 -0500 Subject: [PATCH 04/19] docs: link to docs hub fuel installation guide --- .../quickstart/building-a-smart-contract.mdx | 49 +------------------ 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/docs/guides/docs/quickstart/building-a-smart-contract.mdx b/docs/guides/docs/quickstart/building-a-smart-contract.mdx index 2c349ea4a..a3e98248f 100644 --- a/docs/guides/docs/quickstart/building-a-smart-contract.mdx +++ b/docs/guides/docs/quickstart/building-a-smart-contract.mdx @@ -10,54 +10,7 @@ parent: ## Installation -{/* 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). - -```console -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -``` - -Then, [install the Fuel toolchain](/docs/fuelup/installation). - -```console -curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh -``` -{/* installation:example:end */} - -{/* 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 -fuelup self update -``` - -```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 -Unpacking and moving fuelup to /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt -Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Users/.fuelup/bin/fuelup -``` - -Next, install the `beta-4` toolchain with: - -```console -fuelup toolchain install beta-4 -``` - -Finally, set the `beta-4` toolchain as your default distribution with the following command: - -```console -fuelup default beta-4 -``` - -```console -default toolchain set to 'beta-4' -``` - -You can check your current toolchain anytime by running `fuelup show`. -{/* toolchain_installation:example:end */} +Please visit the Fuel's [installation guide](guides/installation) to install The Fuel toolchain binaries and pre requisites. > 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.` From 9258380adce9c67a3ca0c28687b9bc163d46be4a Mon Sep 17 00:00:00 2001 From: cold-briu Date: Wed, 27 Sep 2023 10:37:54 -0500 Subject: [PATCH 05/19] docs: removed fuel nix --- .gitmodules | 6 +++--- contentlayer.config.ts | 4 ++-- docs/fuel-nix | 1 - docs/guides/docs/installation/codespace.mdx | 1 - docs/guides/docs/installation/index.mdx | 10 ---------- scripts/generate-links.mjs | 6 +++--- src/config/constants.ts | 16 ++++++++-------- src/config/docs.json | 9 --------- src/config/paths.json | 3 +-- 9 files changed, 17 insertions(+), 39 deletions(-) delete mode 160000 docs/fuel-nix diff --git a/.gitmodules b/.gitmodules index 4d6d8b313..70c224450 100644 --- a/.gitmodules +++ b/.gitmodules @@ -27,6 +27,6 @@ [submodule "docs/fuel-specs"] path = docs/fuel-specs url = https://github.com/FuelLabs/fuel-specs.git -[submodule "docs/fuel-nix"] - path = docs/fuel-nix - url = git@github.com:FuelLabs/fuel.nix.git +# [submodule "docs/fuel-nix"] +# path = docs/fuel-nix +# url = git@github.com:FuelLabs/fuel.nix.git diff --git a/contentlayer.config.ts b/contentlayer.config.ts index 02407a658..5cad7b500 100644 --- a/contentlayer.config.ts +++ b/contentlayer.config.ts @@ -59,7 +59,7 @@ const includeDirs = [ 'docs/fuel-graphql-docs/docs', 'docs/fuels-wallet/packages/docs/docs', 'docs/guides/docs', - 'docs/fuel-nix/book/src', + // 'docs/fuel-nix/book/src', // 'docs/about-fuel', ]; @@ -74,7 +74,7 @@ const excludeDirs = [ 'docs/fuels-rs/docs/src/SUMMARY.md', 'docs/fuel-indexer/docs/src/SUMMARY.md', 'docs/fuel-specs/src/SUMMARY.md', - 'docs/fuel-nix/book/src/SUMMARY.md', + // 'docs/fuel-nix/book/src/SUMMARY.md', ];0 export default makeSource({ diff --git a/docs/fuel-nix b/docs/fuel-nix deleted file mode 160000 index df1449582..000000000 --- a/docs/fuel-nix +++ /dev/null @@ -1 +0,0 @@ -Subproject commit df1449582340f8ec644f75cb34595eb856238ec8 diff --git a/docs/guides/docs/installation/codespace.mdx b/docs/guides/docs/installation/codespace.mdx index bbbea36b1..1bf2dd990 100644 --- a/docs/guides/docs/installation/codespace.mdx +++ b/docs/guides/docs/installation/codespace.mdx @@ -20,7 +20,6 @@ The way to think about [Github Codespaces](https://github.com/features/codespace ![dev contaienr walktrough](/images/dev-container.gif) - 2. Edit the file to include the following features: ```json diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index e7163e2be..fc1d48af9 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -10,7 +10,6 @@ parent: This guide will help you to install the Fuel toolchain binaries and pre requisites. - This guide covers the following topics: 1. [Installing rust](#installing-rust) 2. [Installing the fuel toolchain using fuelup](#installing-the-fuel-toolchain-using-fuelup) @@ -93,7 +92,6 @@ That will output your current `fuelup` verison: fuelup 0.19.5 ``` - ## Setting up a default toolchain Just as seen 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). @@ -101,7 +99,6 @@ By default, Fuelup includes a series of toolchain with packages tested to work w 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. - ### Updating fuelup Make sure you have the latest version of `fuelup` so you can accesses the latest features and have the best performance. @@ -205,19 +202,12 @@ You can create your own set of specific versions, this is known as 'custom toolc > πŸ‘‰ Visit the [Fuelup docs](docs/fuelup/concepts/toolchains) to learn how to set up your own custom toolchains. -### Use Nix to install Fuel toolchain - -Nix is a cross-platform package manager for advanced users. - -> πŸ‘‰ Check out the [Nix flake for Fuel](/docs/nix) to learn more. - ### Build form source You can always build the Fuel packages from source. > πŸ‘‰ visit the [Fuelup docs](docs/fuelup/install/other) to get more details other types of installation. - ### Github codespaces It's always possible to run a developement enviroment on the browser. diff --git a/scripts/generate-links.mjs b/scripts/generate-links.mjs index 0a9c67bdb..66fdb033f 100644 --- a/scripts/generate-links.mjs +++ b/scripts/generate-links.mjs @@ -13,7 +13,7 @@ const indexerSummaryPath = join( './fuel-indexer/docs/src/SUMMARY.md' ); const specsSummaryPath = join(DOCS_DIRECTORY, './fuel-specs/src/SUMMARY.md'); -const nixSummaryPath = join(DOCS_DIRECTORY, './fuel-nix/book/src/SUMMARY.md'); +// const nixSummaryPath = join(DOCS_DIRECTORY, './fuel-nix/book/src/SUMMARY.md'); const graphqlOrderPath = join( DOCS_DIRECTORY, @@ -43,7 +43,7 @@ const specsSummaryFile = fs.readFileSync(specsSummaryPath, 'utf8'); const graphqlOrderFile = JSON.parse(fs.readFileSync(graphqlOrderPath, 'utf8')); const guidesOrderFile = JSON.parse(fs.readFileSync(guidesOrderPath, 'utf8')); const walletOrderFile = JSON.parse(fs.readFileSync(walletOrderPath, 'utf8')); -const nixSummaryFile = fs.readFileSync(nixSummaryPath, 'utf8'); +// const nixSummaryFile = fs.readFileSync(nixSummaryPath, 'utf8'); // const aboutFuelOrderFile = JSON.parse( // fs.readFileSync(aboutFuelOrderPath, 'utf8') @@ -251,7 +251,7 @@ async function getOrders() { // SPECS ORDER orders.specs = processSummary(specsSummaryFile.split(EOL), 'specs'); - orders.nix = processSummary(nixSummaryFile.split(EOL), 'specs'); + // orders.nix = processSummary(nixSummaryFile.split(EOL), 'specs'); // GRAPHQL ORDER orders.graphql = graphqlOrderFile; diff --git a/src/config/constants.ts b/src/config/constants.ts index 59f6b5e2d..9a6d815af 100644 --- a/src/config/constants.ts +++ b/src/config/constants.ts @@ -15,8 +15,8 @@ export type Tabs = | 'indexer' | 'specs' // | 'about-fuel' - | 'forc' - | 'nix'; + // | 'nix' + | 'forc'; export type LinkType = 'menu' | 'internal-link' | 'external-link' | 'category'; @@ -98,12 +98,12 @@ export const NAVIGATION: LinkObject[] = [ link: '/docs/indexer/', slug: 'indexer', }, - { - name: 'Fuel Nix', - type: 'internal-link', - link: '/docs/nix/', - slug: 'nix', - }, + // { + // name: 'Fuel Nix', + // type: 'internal-link', + // link: '/docs/nix/', + // slug: 'nix', + // }, ], }, { diff --git a/src/config/docs.json b/src/config/docs.json index 1864f3b4e..5fa23c8cc 100644 --- a/src/config/docs.json +++ b/src/config/docs.json @@ -97,14 +97,5 @@ "description": "Official documentation for the Fuel Orchestrator", "image": "" } - }, - "nix": { - "title": "Fuel Nix", - "slug": "nix", - "repository": "https://github.com/FuelLabs/fuel.nix/tree/master", - "ogTags": { - "description": "Official Nix flack for the Fuel Network", - "image": "" - } } } diff --git a/src/config/paths.json b/src/config/paths.json index f59b86b72..884d62283 100644 --- a/src/config/paths.json +++ b/src/config/paths.json @@ -15,6 +15,5 @@ "fuel-graphql-docs": "graphql", "fuel-specs": "specs", "fuel-indexer": "indexer", - "fuels-wallet": "wallet", - "fuel-nix": "nix" + "fuels-wallet": "wallet" } From e15931c63f5a8e8fdb424da742da1e600d512868 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Wed, 27 Sep 2023 10:51:40 -0500 Subject: [PATCH 06/19] docs: remove fuel nix sub module --- .gitmodules | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 70c224450..04c7b81e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -27,6 +27,3 @@ [submodule "docs/fuel-specs"] path = docs/fuel-specs url = https://github.com/FuelLabs/fuel-specs.git -# [submodule "docs/fuel-nix"] -# path = docs/fuel-nix -# url = git@github.com:FuelLabs/fuel.nix.git From 76deb2ceca9d1290cdde699e5339b8e2916c0472 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Wed, 27 Sep 2023 14:36:00 -0500 Subject: [PATCH 07/19] docs: small copy fixes --- docs/guides/docs/installation/index.mdx | 12 ++++-------- .../quickstart/building-a-smart-contract.mdx | 2 +- scripts/generate-links.mjs | 18 +++++++++--------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index fc1d48af9..de4478f07 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -17,7 +17,7 @@ This guide covers the following topics: ## Installing rust -The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the rustup tool. +The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the `rustup` tool. 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. @@ -29,7 +29,7 @@ Check the official Rust documentation to get more information on [installing the ## Installing the fuel toolchain using fuelup -_fuelup_ is the official package manager for [Fuel] that installs The Fuel Toolchain +`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. @@ -47,7 +47,7 @@ To install the fuel toolchain, you'll use the `fuelup-init` script. This will in curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh ``` -> 🚧 Be aware that currently we do not natively support Windows. If you wish to use fuelup on Windows, please use Windows Subsystem for Linux. +> 🚧 Be aware that currently we do not natively support Windows. If you wish to use `fuelup` on Windows, please use Windows Subsystem for Linux. ### Setup PATH @@ -67,8 +67,6 @@ Would you like fuelup-init to modify your PATH variable for you? (N/y) πŸ‘‰ If this is your first time installing the Fuel toolchain just press the `Y` key in your terminal and press _Enter_ -Basically you are allowing your terminal to use the `fuelup` command. - ### 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: @@ -97,7 +95,7 @@ fuelup 0.19.5 Just as seen 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 toolchain with packages tested to work with each other, providing a realiable 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. +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. ### Updating fuelup @@ -120,8 +118,6 @@ Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Us The beta-4 network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). -> πŸ’‘ Check up the [Networks section](docs/about-fuel) for more information. - To properly interact with the `beta-4` network is necessary to use it's corresponding toolchain. πŸ‘‰ Run the following command to install the `beta-4`: diff --git a/docs/guides/docs/quickstart/building-a-smart-contract.mdx b/docs/guides/docs/quickstart/building-a-smart-contract.mdx index a3e98248f..e8e2ca321 100644 --- a/docs/guides/docs/quickstart/building-a-smart-contract.mdx +++ b/docs/guides/docs/quickstart/building-a-smart-contract.mdx @@ -10,7 +10,7 @@ parent: ## Installation -Please visit the Fuel's [installation guide](guides/installation) to install The Fuel toolchain binaries and pre requisites. +Please visit the [installation guide](guides/installation) to install the Fuel toolchain binaries and pre-requisites. > 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.` diff --git a/scripts/generate-links.mjs b/scripts/generate-links.mjs index 66fdb033f..c8cb64ab2 100644 --- a/scripts/generate-links.mjs +++ b/scripts/generate-links.mjs @@ -493,15 +493,15 @@ async function getDocs(key, order) { '!**/SUMMARY.md', ]; break; - case 'nix': - paths = [ - // SPECS DOCS - './fuel-nix/book/src/*.md', - './fuel-nix/book/src/**/*.md', - // IGNORE ALL SUMMARY PAGES - '!**/SUMMARY.md', - ]; - break; + // case 'nix': + // paths = [ + // // SPECS DOCS + // './fuel-nix/book/src/*.md', + // './fuel-nix/book/src/**/*.md', + // // IGNORE ALL SUMMARY PAGES + // '!**/SUMMARY.md', + // ]; + // break; // case 'about-fuel': // paths = [ // // ABOUT FUEL DOCS From 25088ccaf196781afdadf8a8febec661e284d005 Mon Sep 17 00:00:00 2001 From: Sandusky <39354014+cold-briu@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:33:03 -0500 Subject: [PATCH 08/19] Update docs/guides/docs/installation/index.mdx Co-authored-by: Sarah Schwartz <58856580+sarahschwartz@users.noreply.github.com> --- docs/guides/docs/installation/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index de4478f07..bbb3d8969 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -34,7 +34,7 @@ from the official release channels, enabling you to easily switch between differ 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 up the [Fuelup docs](docs/fuelup) for more information. +> πŸ’‘ Check out the [Fuelup docs](docs/fuelup) for more information. ### Running fuelup-init From e71c4d11d09b1df0a3fcb89fccc934788e7b6efb Mon Sep 17 00:00:00 2001 From: Sandusky <39354014+cold-briu@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:33:13 -0500 Subject: [PATCH 09/19] Update docs/guides/docs/installation/index.mdx Co-authored-by: Sarah Schwartz <58856580+sarahschwartz@users.noreply.github.com> --- docs/guides/docs/installation/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index bbb3d8969..502703382 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -116,7 +116,7 @@ Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Us ### Installing the beta-4 toolchain -The beta-4 network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). +The `beta-4` network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). To properly interact with the `beta-4` network is necessary to use it's corresponding toolchain. From b36c8e2b5d885f77def88b0c9c445d87270c25e6 Mon Sep 17 00:00:00 2001 From: Sandusky <39354014+cold-briu@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:33:21 -0500 Subject: [PATCH 10/19] Update docs/guides/docs/guides.json Co-authored-by: Sarah Schwartz <58856580+sarahschwartz@users.noreply.github.com> --- docs/guides/docs/guides.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/docs/guides.json b/docs/guides/docs/guides.json index 047e0ee56..a266594e4 100644 --- a/docs/guides/docs/guides.json +++ b/docs/guides/docs/guides.json @@ -1,7 +1,7 @@ { "installation": { "title": "Toolchain Installation", - "description": "Install Fuel toolchain and binaries." + "description": "Install the Fuel toolchain and binaries." }, "quickstart": { "title": "Developer Quickstart", From 4302ee3dfb90d8b883c53383082cf1a3d0f7f0bd Mon Sep 17 00:00:00 2001 From: Sarah Schwartz <58856580+sarahschwartz@users.noreply.github.com> Date: Thu, 28 Sep 2023 08:13:55 -0600 Subject: [PATCH 11/19] Update docs/guides/docs/installation/index.mdx --- docs/guides/docs/installation/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index 502703382..21fd0d4a5 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -92,7 +92,7 @@ fuelup 0.19.5 ## Setting up a default toolchain -Just as seen 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 seen 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 toolchain with packages tested to work with each other, providing a realiable 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. From b4a9e3946596dba4c535be53753e3abfe2387149 Mon Sep 17 00:00:00 2001 From: Sarah Schwartz <58856580+sarahschwartz@users.noreply.github.com> Date: Thu, 28 Sep 2023 08:14:08 -0600 Subject: [PATCH 12/19] Update docs/guides/docs/installation/index.mdx --- docs/guides/docs/installation/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index 21fd0d4a5..894fe19ce 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -15,7 +15,7 @@ This guide covers the following topics: 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 +## Installing Rust The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the `rustup` tool. From 2ce9e592d7d4491ed2e445726891f8096b7a234f Mon Sep 17 00:00:00 2001 From: Sarah Schwartz <58856580+sarahschwartz@users.noreply.github.com> Date: Thu, 28 Sep 2023 08:19:47 -0600 Subject: [PATCH 13/19] Update contentlayer.config.ts --- contentlayer.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contentlayer.config.ts b/contentlayer.config.ts index 5cad7b500..9e8fb57c3 100644 --- a/contentlayer.config.ts +++ b/contentlayer.config.ts @@ -75,7 +75,7 @@ const excludeDirs = [ 'docs/fuel-indexer/docs/src/SUMMARY.md', 'docs/fuel-specs/src/SUMMARY.md', // 'docs/fuel-nix/book/src/SUMMARY.md', -];0 +]; export default makeSource({ contentDirPath: './', From 9c5b7bb1e73d4a6fcf9b8154b1b9327e46557884 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Thu, 28 Sep 2023 22:18:03 -0500 Subject: [PATCH 14/19] docs: linter format --- scripts/generate-links.mjs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/generate-links.mjs b/scripts/generate-links.mjs index c8cb64ab2..e5ef6a52e 100644 --- a/scripts/generate-links.mjs +++ b/scripts/generate-links.mjs @@ -250,8 +250,8 @@ async function getOrders() { orders.indexer = processSummary(indexerSummaryFile.split(EOL), 'indexer'); // SPECS ORDER orders.specs = processSummary(specsSummaryFile.split(EOL), 'specs'); - - // orders.nix = processSummary(nixSummaryFile.split(EOL), 'specs'); + + // orders.nix = processSummary(nixSummaryFile.split(EOL), 'specs'); // GRAPHQL ORDER orders.graphql = graphqlOrderFile; @@ -501,7 +501,7 @@ async function getDocs(key, order) { // // IGNORE ALL SUMMARY PAGES // '!**/SUMMARY.md', // ]; - // break; + // break; // case 'about-fuel': // paths = [ // // ABOUT FUEL DOCS @@ -581,7 +581,6 @@ function removeDocsPath(path, duplicateAPICategories) { } } - return newPath; } From 1cdc1eb531df21a6a6a0fb178da33be2beedabd1 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Fri, 29 Sep 2023 17:29:20 -0500 Subject: [PATCH 15/19] docs: fix spelling and grammar --- docs/guides/docs/guides.json | 36 +- docs/guides/docs/installation/codespace.mdx | 144 ++-- docs/guides/docs/installation/index.mdx | 422 +++++------ .../quickstart/building-a-smart-contract.mdx | 710 +++++++++--------- 4 files changed, 654 insertions(+), 658 deletions(-) diff --git a/docs/guides/docs/guides.json b/docs/guides/docs/guides.json index a266594e4..b16353aeb 100644 --- a/docs/guides/docs/guides.json +++ b/docs/guides/docs/guides.json @@ -1,18 +1,18 @@ -{ - "installation": { - "title": "Toolchain Installation", - "description": "Install the Fuel toolchain and binaries." - }, - "quickstart": { - "title": "Developer Quickstart", - "description": "Get started by building a counter dApp in Fuel" - }, - "running_a_node": { - "title": "Running a Node", - "description": "Run a local Fuel node" - }, - "testnet_migration": { - "title": "Testnet Migration", - "description": "Sway and SDK's breaking changes reference" - } -} +{ + "installation": { + "title": "Toolchain Installation", + "description": "Install the Fuel toolchain and binaries." + }, + "quickstart": { + "title": "Developer Quickstart", + "description": "Get started by building a counter dApp in Fuel." + }, + "running_a_node": { + "title": "Running a Node", + "description": "Run a local Fuel node." + }, + "testnet_migration": { + "title": "Testnet Migration", + "description": "Sway and SDK's breaking changes reference." + } +} diff --git a/docs/guides/docs/installation/codespace.mdx b/docs/guides/docs/installation/codespace.mdx index 1bf2dd990..f0b229c36 100644 --- a/docs/guides/docs/installation/codespace.mdx +++ b/docs/guides/docs/installation/codespace.mdx @@ -1,74 +1,70 @@ ---- -title: Fuel Github Codespace -category: Installation -parent: - label: Guides - link: /guides ---- - -# Github Codespace - -### 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 VSCode plugins are supported, the Sway LSP plugin is supported and works out of the box. - -### 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 contaienr walktrough](/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”. - - ```json - "customizations": { - "vscode": { - "extensions": [ - "fuellabs.sway-vscode-plugin" - ] - } - } - ``` - - Here are examples that include the Sway LSP plugin. - - 1. [https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json) - 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 codespaces configured. -2. Choose Code β†’ Create codespace on master - - -![Create codespace walktrough](/images/create-codespace.gif) - - -3. This will open a new tab with your codespace. It can take several minutes to start up. - 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 definition, etc. - 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. - -### Suggested uses - -This is a great tool for hackathons! Users can easily get started with a full development environment without having to install anything on their personal machine, which could be a barrier for people who are new to Fuel/Sway. - -### Pricing & billing - -For all contributors that are part of the Github organization, Codespaces is billed to Fuel. For other users, they will be required to enter billing information. There is a substantial free tier so hackathon users don’t have to worry about getting billed as long as they shut down the codespace when they’re finished using it. - -## What's next? - -Now you are ready to start building with Fuel. - -πŸ‘‰ Check out the [quickstart guide](/guides/quickstart) to deploy your first smart contract. +--- +title: Fuel Github Codespace +category: Installation +parent: + label: Guides + link: /guides +--- + +# Github Codespace + +### 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 + +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”. + + ```json + "customizations": { + "vscode": { + "extensions": [ + "fuellabs.sway-vscode-plugin" + ] + } + } + ``` + + Here are examples that include the Sway LSP plugin. + + 1. [https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json) + 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) + + +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 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 + +You will be required to enter billing information, however there is a substantial free tier. + +## What's next? + +Now you are ready to start building with Fuel. + +πŸ‘‰ Check out the [quickstart guide](/guides/quickstart) to deploy your first smart contract. diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index 894fe19ce..624ddbc38 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -1,211 +1,211 @@ ---- -title: Installation -category: Installation -parent: - label: Guides - link: /guides ---- - -# Toolchain Installation - -This guide will help you to install the Fuel toolchain binaries and pre requisites. - -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 - -The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the `rustup` tool. - -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. - -```console -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -``` - -Check the official Rust documentation to get more information on [installing the Rust toolchain](https://www.rust-lang.org/tools/install). - -## Installing the fuel toolchain using fuelup - -`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. - -> πŸ’‘ Check out the [Fuelup docs](docs/fuelup) for more information. - - -### Running fuelup-init - -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`. - -πŸ‘‰ Just paste the following line in your terminal and press _Enter_. - -```sh -curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh -``` - -> 🚧 Be aware that currently we do not natively support Windows. If you wish to use `fuelup` on Windows, please use Windows Subsystem for Linux. - -### Setup PATH - -Once the script is downloaded it will be executed automatically. The `fuelup-init` script will prompt something as this. - -```sh -fuelup uses "/home/username/.fuelup" as its home directory to manage the Fuel toolchain, and will install binaries there. - -To use the toolchain, you will have to configure your PATH, which tells your machine where to locate fuelup and the Fuel toolchain. - -If permitted, fuelup-init will configure your PATH for you by running the following: - - echo "export PATH="$HOME/.fuelup/bin:$PATH"" >> /home/username/.bashrc - -Would you like fuelup-init to modify your PATH variable for you? (N/y) -``` - -πŸ‘‰ If this is your first time installing the Fuel toolchain just press the `Y` key in your terminal and press _Enter_ - -### 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: - -```sh -The Fuel toolchain is installed and up to date - -fuelup 0.19.5 has been installed in /home/username/.fuelup/bin. -To fetch the latest toolchain containing the forc and fuel-core binaries, run 'fuelup toolchain install latest'. -To generate completions for your shell, run 'fuelup completions --shell=SHELL'. -``` - -πŸ‘‰ Use `fuelup --version`any time to check which version of the package you are using. - -```sh - fuelup --version -``` -That will output your current `fuelup` verison: - -```sh -fuelup 0.19.5 -``` - -## Setting up a default toolchain - -Just as seen 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 toolchain with packages tested to work with each other, providing a realiable 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. - -### Updating fuelup - -Make sure you have the latest version of `fuelup` so you can accesses the latest features and have the best performance. - -πŸ‘‰ Update `fuelup` by running the following command: - -```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 -Unpacking and moving fuelup to /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt -Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Users/.fuelup/bin/fuelup -``` - -### Installing the beta-4 toolchain - -The `beta-4` network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). - -To properly interact with the `beta-4` network is necessary to use it's corresponding toolchain. - -πŸ‘‰ Run the following command to install the `beta-4`: - -```console -fuelup toolchain install beta-4 -``` -If the toolchain was successfully installed, you will see this output: - -```sh -The Fuel toolchain is installed and up to date -``` - -The toolchain was installed correctly, however is in use yet. You need to indicate `fuelup` to use the `beta-4` toolchain. - -πŸ‘‰ set the `beta-4` as your default toolchain with the following command: - -```console -fuelup default beta-4 -``` - -You will get the following output indicating that you are ready to go. - -```console -default toolchain set to 'beta-4' -``` - -### Checking your current toolchain - -Sometimes you might end up using multiples toolchain at once, don't worry if you get confused about wich toolchain your are using since you can check your current toolchain anytime. - -πŸ‘‰ Run the `fuelup show` command to see toolchain that your are using and the version of the binaries of that toolchain. - -```sh -fuelup show -``` - -This command will give you the following output - -```sh -active toolchain ------------------ -beta-4-x86_64-unknown-linux-gnu (default) - forc : 0.45.0 - - forc-client - - forc-deploy : 0.45.0 - - forc-run : 0.45.0 - - forc-doc : 0.45.0 - - forc-explore : 0.28.1 - - forc-fmt : 0.45.0 - - forc-index : 0.20.7 - - forc-lsp : 0.45.0 - - forc-tx : 0.45.0 - - forc-wallet : 0.3.0 - fuel-core : 0.20.4 - fuel-core-keygen : Error getting version string - fuel-indexer : 0.20.7 - -fuels versions ---------------- -forc : 0.45 -forc-wallet : 0.45 -``` - -As you can see the beta-4 toolchain is active πŸš€ - -## What's next? - -Now you are ready to start building with Fuel. - -πŸ‘‰ Check out the [quickstart guide](/guides/quickstart) to deploy your first smart contract. - -## Beyond the basics - -### 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. - -### Build form source - -You can always build the Fuel packages from source. - -> πŸ‘‰ visit the [Fuelup docs](docs/fuelup/install/other) to get more details other types of installation. - -### Github codespaces - -It's always possible to run a developement enviroment on the browser. - -> πŸ‘‰ Please visit our guide on [Github Codespaces](guides/install/codespaces) to use the Fuel Toolchain on the browser. \ No newline at end of file +--- +title: Installation +category: Installation +parent: + label: Guides + link: /guides +--- + +# Toolchain installation + +This guide will help you to install the Fuel toolchain binaries and pre-requisites. + +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 + +The Fuel toolchain is built on top of the Rust programming language. To install Rust, you can use the `rustup` tool. + +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. + +```console +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` + +Check the official Rust documentation to get more information on [installing the Rust toolchain](https://www.rust-lang.org/tools/install). + +## Installing the Fuel toolchain using fuelup + +`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. + +> πŸ’‘ Check out the [fuelup docs](docs/fuelup) for more information. + + +### Running fuelup-init + +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`. + +πŸ‘‰ Just paste the following line in your terminal and press _Enter_. + +```sh +curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh +``` + +> 🚧 Be aware that currently we do not natively support Windows. If you wish to use `fuelup` on Windows, please use Windows Subsystem for Linux. + +### Setup PATH + +Once the script is downloaded, it will be executed automatically. The `fuelup-init` script will prompt something as this. + +```sh +fuelup uses "/home/username/.fuelup" as its home directory to manage the Fuel toolchain, and will install binaries there. + +To use the toolchain, you will have to configure your PATH, which tells your machine where to locate `fuelup` and the Fuel toolchain. + +If permitted, fuelup-init will configure your PATH for you by running the following: + + echo "export PATH="$HOME/.fuelup/bin:$PATH"" >> /home/username/.bashrc + +Would you like fuelup-init to modify your PATH variable for you? (N/y) +``` + +πŸ‘‰ If this is your first time installing the Fuel toolchain just press the `Y` key in your terminal and press _Enter_ + +### 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: + +```sh +The Fuel toolchain is installed and up to date + +fuelup 0.19.5 has been installed in /home/username/.fuelup/bin. +To fetch the latest toolchain containing the forc and fuel-core binaries, run 'fuelup toolchain install latest'. +To generate completions for your shell, run 'fuelup completions --shell=SHELL'. +``` + +πŸ‘‰ Use `fuelup --version`any time to check which version of the package you are using. + +```sh + fuelup --version +``` +That will output your current `fuelup` version: + +```sh +fuelup 0.19.5 +``` + +## Setting up a default toolchain + +Just as seen 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 toolchain with 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. + +### Updating fuelup + +Make sure you have the latest version of `fuelup` so you can access the latest features and have the best performance. + +πŸ‘‰ Update `fuelup` by running the following command: + +```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 +Unpacking and moving fuelup to /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt +Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Users/.fuelup/bin/fuelup +``` + +### Installing the beta-4 toolchain + +The `beta-4` network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). + +To properly interact with the `beta-4` network it is necessary to use its corresponding toolchain. + +πŸ‘‰ Run the following command to install the `beta-4`: + +```console +fuelup toolchain install beta-4 +``` +If the toolchain was successfully installed, you will see this output: + +```sh +The Fuel toolchain is installed and up to date +``` + +The toolchain was installed correctly, however is in use yet. You need to indicate `fuelup` to use the `beta-4` toolchain. + +πŸ‘‰ set the `beta-4` as your default toolchain with the following command: + +```console +fuelup default beta-4 +``` + +You will get the following output indicating that you are ready to go. + +```console +default toolchain set to 'beta-4' +``` + +### Checking your current toolchain + +Sometimes you might end up using multiples toolchain at once, don't worry if you get confused about which toolchain your are using since you can check your current toolchain anytime. + +πŸ‘‰ Run the `fuelup show` command to see toolchain that you are using and the version of the binaries of that toolchain. + +```sh +fuelup show +``` + +This command will give you the following output + +```sh +active toolchain +----------------- +beta-4-x86_64-unknown-linux-gnu (default) + forc : 0.45.0 + - forc-client + - forc-deploy : 0.45.0 + - forc-run : 0.45.0 + - forc-doc : 0.45.0 + - forc-explore : 0.28.1 + - forc-fmt : 0.45.0 + - forc-index : 0.20.7 + - forc-lsp : 0.45.0 + - forc-tx : 0.45.0 + - forc-wallet : 0.3.0 + fuel-core : 0.20.4 + fuel-core-keygen : Error getting version string + fuel-indexer : 0.20.7 + +fuels versions +--------------- +forc : 0.45 +forc-wallet : 0.45 +``` + +As you can see, the beta-4 toolchain is active πŸš€ + +## What's next? + +Now you are ready to start building with Fuel. + +πŸ‘‰ Check out the [quickstart guide](/guides/quickstart) to deploy your first smart contract. + +## Beyond the basics + +### 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. + +### Build form source + +You can always build the Fuel packages from source. + +> πŸ‘‰ visit the [Fuelup docs](docs/fuelup/install/other) to get more details other types of installation. + +### Github Codespaces + +It's always possible to run a development environment on the browser. + +> πŸ‘‰ Please visit our guide on [Github Codespaces](guides/installation/codespace) to use the Fuel toolchain on the browser. \ 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 e8e2ca321..8fd522434 100644 --- a/docs/guides/docs/quickstart/building-a-smart-contract.mdx +++ b/docs/guides/docs/quickstart/building-a-smart-contract.mdx @@ -1,355 +1,355 @@ ---- -title: Building a Smart Contract -category: Quickstart -parent: - label: Guides - link: /guides ---- - -# Writing A Sway Smart Contract - -## Installation - -Please visit the [installation guide](guides/installation) to install the Fuel toolchain binaries and pre-requisites. - -> 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.` - -## Your First Sway Project - -We'll build a simple counter contract with two functions: one to increment the counter, and one to return the value of the counter. - -**Start by creating a new, empty folder. We'll call it `fuel-project`.** - -```sh -mkdir fuel-project -``` - -### Writing the Contract - -Move inside of your `fuel-project` folder: - -```sh -cd fuel-project -``` - -Then create a contract project using forc: - -```sh -forc new counter-contract -``` - -You will get this output: - -```sh -To compile, use `forc build`, and to run tests use `forc test` ----- -Read the Docs: -- Sway Book: https://docs.fuel.network/docs/sway -- Forc Book: https://docs.fuel.network/docs/forc -- Rust SDK Book: https://docs.fuel.network/docs/fuels-rs -- TypeScript SDK: https://docs.fuel.network/docs/fuels-ts - -Join the Community: -- Follow us @SwayLang: https://twitter.com/SwayLang -- Ask questions on Discourse: https://forum.fuel.network/ - -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 */} -Here is the project that `Forc` has initialized: - -```console -$ tree counter-contract -counter-contract -β”œβ”€β”€ Forc.toml -└── src - └── main.sw -``` - -`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. - -Every Sway file must start with a declaration of what type of program the file contains; here, we've declared that this file is a contract. - - - -Next, we'll define a storage value. In our case, we have a single counter that we'll call `counter` of type 64-bit unsigned integer and initialize it to 0. - - - -### ABI - -An ABI defines an interface for a contract. A contract must either define or import an ABI declaration. It is considered best practice to define your ABI in a separate library and import it into your contract because this allows callers of the contract to import and use the ABI in scripts to call your contract - -For simplicity, we will define the ABI directly in the contract file itself. - - - -### Implement ABI - -Below your ABI definition, you will write the implementation of the functions defined in your ABI. - - - -**Note**: `storage.counter.read()` is an implicit return and is equivalent to `return storage.counter.read();`. - -Here's what your code should look like so far: - -File: `./counter-contract/src/main.sw` - - - -### Build the Contract - -Navigate to your contract folder: - -```console -cd counter-contract -``` - -```console -changed directory into `counter-contract` -``` - -Then run the following command to build your contract: - -```console -forc build -``` - -```console - Compiled library "core". - Compiled library "std". - Compiled contract "counter-contract". - Bytecode size is 232 bytes. -``` - -Let's have a look at the content of the `counter-contract` folder after building: - -```console -$ tree . -. -β”œβ”€β”€ Forc.lock -β”œβ”€β”€ Forc.toml -β”œβ”€β”€ out -β”‚ └── debug -β”‚ β”œβ”€β”€ counter-contract-abi.json -β”‚ β”œβ”€β”€ counter-contract-storage_slots.json -β”‚ └── counter-contract.bin -└── src - └── main.sw -``` - -We now have an `out` directory that contains our build artifacts such as the JSON representation of our ABI and the contract bytecode. - -## Testing your Contract - -We will start by adding a Rust integration test harness using a Cargo generate template. If this is your first time going through this quickstart, you'll need to install the `cargo generate` command. In the future, you can skip this step as it will already be installed. - -Let's start by running the installation command: - -```console -cargo install cargo-generate -``` - -```console - Updating crates.io index... - installed package `cargo-generate v0.17.3` -``` - -> **Note**: You can learn more about cargo generate by visiting [its repository](https://github.com/cargo-generate/cargo-generate). - -Now, let's generate the default test harness with the following: - -```console -cargo generate --init fuellabs/sway templates/sway-test-rs --name counter-contract -``` - -```console -⚠️ Favorite `fuellabs/sway` not found in config, using it as a git repository: https://github.com/fuellabs/sway.git -πŸ”§ Destination: /home/user/path/to/counter-contract ... -πŸ”§ project-name: counter-contract ... -πŸ”§ Generating template ... -πŸ”§ Moving generated files into: `/home/user/path/to/counter-contract`... -✨ Done! New project created /home/user/path/to/counter-contract -``` - -Let's have a look at the result: - -```console -$ tree . -. -β”œβ”€β”€ Cargo.toml -β”œβ”€β”€ Forc.lock -β”œβ”€β”€ Forc.toml -β”œβ”€β”€ out -β”‚ └── debug -β”‚ β”œβ”€β”€ counter-contract-abi.json -β”‚ β”œβ”€β”€ counter-contract-storage_slots.json -β”‚ └── counter-contract.bin -β”œβ”€β”€ src -β”‚ └── main.sw -└── tests - └── harness.rs -``` - -We have two new files! - -- The `Cargo.toml` is the manifest for our new test harness and specifies the required dependencies including `fuels` the Fuel Rust SDK. -- The `tests/harness.rs` contains some boilerplate test code to get us started, though doesn't call any contract methods just yet. - -Now that we have our default test harness, let's add some useful tests to it. - -At the bottom of `test/harness.rs` below the `can_get_contract_id()` test, add the `test_increment` test function below to verify that the value of the counter gets incremented: - - - -Here is what your file should look like: - -File: `./counter-contract/tests/harness.rs` - - - -Run `cargo test` in the terminal: - -```console -cargo test -``` - -If all goes well, the output should look as follows: - -```console - ... - running 2 tests - test can_get_contract_id ... ok - test test_increment ... ok - test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s -``` - -## Deploy the Contract - -It's now time to deploy the contract to the testnet. We will show how to do this using `forc` from the command line, but you can also do it using the [Rust SDK](/docs/fuels-rs/deploying) or the [TypeScript SDK](/docs/fuels-ts/contracts/deploying-contracts). - -In order to deploy a contract, you need to have a wallet to sign the transaction and coins to pay for gas. First, we'll create a wallet. - -### Setup the Wallet CLI - -If you haven't deployed a contract before, you'll need to set up a local wallet with the forc-wallet plugin. `forc-wallet` is packaged alongside the default distributed toolchains when installed using fuelup, so you should already have this installed. - -You can initialize a new wallet with the command below: - -```console -forc wallet new -``` - -After typing in a password, be sure to save the mnemonic phrase that is output. - -Next, create a new wallet account with: - -```console -forc wallet account new -``` - -With this, you'll get a fuel address that looks something like this: `fuel1efz7lf36w9da9jekqzyuzqsfrqrlzwtt3j3clvemm6eru8fe9nvqj5kar8`. Save this address as you'll need it to sign transactions when we deploy the contract. - -If you need to list your accounts, you can run the command below: - -```console -forc wallet accounts -``` - -### Get Testnet Coins - -With your account address in hand, head to the [testnet faucet](https://faucet-beta-4.fuel.network/) to get some coins sent to your wallet. - -### Deploy To Testnet - -Now that you have a wallet, you can deploy with `forc deploy` and adding the `--testnet` to target the latest network: - -```console -forc deploy --testnet -``` - -The terminal will ask for the password of the wallet: - -`Please provide the password of your encrypted wallet vault at "~/.fuel/wallets/.wallet":` - -Once you unlocked the wallet, the terminal will show a list of the accounts of this wallet: - -```console -Account 0 -- fuel18caanqmumttfnm8qp0eq7u9yluydxtqmzuaqtzdjlsww5t2jmg9skutn8n: - Asset ID Amount - 0000000000000000000000000000000000000000000000000000000000000000 499999940 -``` - -Just below the list, you'll see this prompt: - -`Please provide the index of account to use for signing:` - -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. -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. - -```console -Contract deploy-to-beta-4 Deployed! - -Network: https://beta-4.fuel.network -Contract ID: 0x8342d413de2a678245d9ee39f020795800c7e6a4ac5ff7daae275f533dc05e08 -Deployed in block 0x4ea52b6652836c499e44b7e42f7c22d1ed1f03cf90a1d94cd0113b9023dfa636 -``` - - -![block explorer](/images/block-explorer.png) - - -### Congrats, you have completed your first smart contract on Fuel β›½ - -[Here is the repo for this project](https://github.com/FuelLabs/quickstart). If you run into any problems, a good first step is to compare your code to this repo and resolve any differences. - -Tweet us [@fuel_network](https://twitter.com/fuel_network) letting us know you just built a dapp on Fuel, you might get invited to a private group of builders, be invited to the next Fuel dinner, get alpha on the project, or something πŸ‘€. - -## Need Help? - -Get help from the team by posting your question in the [Fuel Forum](https://forum.fuel.network/). +--- +title: Building a Smart Contract +category: Quickstart +parent: + label: Guides + link: /guides +--- + +# Writing A Sway Smart Contract + +## Installation + +Please visit the [installation guide](guides/installation) to install the Fuel toolchain binaries and pre-requisites. + +> 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.` + +## Your First Sway Project + +We'll build a simple counter contract with two functions: one to increment the counter, and one to return the value of the counter. + +**Start by creating a new, empty folder. We'll call it `fuel-project`.** + +```sh +mkdir fuel-project +``` + +### Writing the Contract + +Move inside of your `fuel-project` folder: + +```sh +cd fuel-project +``` + +Then create a contract project using `forc`: + +```sh +forc new counter-contract +``` + +You will get this output: + +```sh +To compile, use `forc build`, and to run tests use `forc test` +---- +Read the Docs: +- Sway Book: https://docs.fuel.network/docs/sway +- Forc Book: https://docs.fuel.network/docs/forc +- Rust SDK Book: https://docs.fuel.network/docs/fuels-rs +- TypeScript SDK: https://docs.fuel.network/docs/fuels-ts + +Join the Community: +- Follow us @SwayLang: https://twitter.com/SwayLang +- Ask questions on Discourse: https://forum.fuel.network/ + +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 */} +Here is the project that `forc` has initialized: + +```console +$ tree counter-contract +counter-contract +β”œβ”€β”€ Forc.toml +└── src + └── main.sw +``` + +`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. + +Every Sway file must start with a declaration of what type of program the file contains; here, we've declared that this file is a contract. + + + +Next, we'll define a storage value. In our case, we have a single counter that we'll call `counter` of type 64-bit unsigned integer and initialize it to 0. + + + +### ABI + +An ABI defines an interface for a contract. A contract must either define or import an ABI declaration. It is considered best practice to define your ABI in a separate library and import it into your contract because this allows callers of the contract to import and use the ABI in scripts to call your contract + +For simplicity, we will define the ABI directly in the contract file itself. + + + +### Implement ABI + +Below your ABI definition, you will write the implementation of the functions defined in your ABI. + + + +**Note**: `storage.counter.read()` is an implicit return and is equivalent to `return storage.counter.read();`. + +Here's what your code should look like so far: + +File: `./counter-contract/src/main.sw` + + + +### Build the Contract + +Navigate to your contract folder: + +```console +cd counter-contract +``` + +```console +changed directory into `counter-contract` +``` + +Then run the following command to build your contract: + +```console +forc build +``` + +```console + Compiled library "core". + Compiled library "std". + Compiled contract "counter-contract". + Bytecode size is 232 bytes. +``` + +Let's have a look at the content of the `counter-contract` folder after building: + +```console +$ tree . +. +β”œβ”€β”€ Forc.lock +β”œβ”€β”€ Forc.toml +β”œβ”€β”€ out +β”‚ └── debug +β”‚ β”œβ”€β”€ counter-contract-abi.json +β”‚ β”œβ”€β”€ counter-contract-storage_slots.json +β”‚ └── counter-contract.bin +└── src + └── main.sw +``` + +We now have an `out` directory that contains our build artifacts such as the JSON representation of our ABI and the contract bytecode. + +## Testing your Contract + +We will start by adding a Rust integration test harness using a Cargo generate template. If this is your first time going through this quickstart, you'll need to install the `cargo generate` command. In the future, you can skip this step as it will already be installed. + +Let's start by running the installation command: + +```console +cargo install cargo-generate +``` + +```console + Updating crates.io index... + installed package `cargo-generate v0.17.3` +``` + +> **Note**: You can learn more about cargo generate by visiting [its repository](https://github.com/cargo-generate/cargo-generate). + +Now, let's generate the default test harness with the following: + +```console +cargo generate --init fuellabs/sway templates/sway-test-rs --name counter-contract +``` + +```console +⚠️ Favorite `fuellabs/sway` not found in config, using it as a git repository: https://github.com/fuellabs/sway.git +πŸ”§ Destination: /home/user/path/to/counter-contract ... +πŸ”§ project-name: counter-contract ... +πŸ”§ Generating template ... +πŸ”§ Moving generated files into: `/home/user/path/to/counter-contract`... +✨ Done! New project created /home/user/path/to/counter-contract +``` + +Let's have a look at the result: + +```console +$ tree . +. +β”œβ”€β”€ Cargo.toml +β”œβ”€β”€ Forc.lock +β”œβ”€β”€ Forc.toml +β”œβ”€β”€ out +β”‚ └── debug +β”‚ β”œβ”€β”€ counter-contract-abi.json +β”‚ β”œβ”€β”€ counter-contract-storage_slots.json +β”‚ └── counter-contract.bin +β”œβ”€β”€ src +β”‚ └── main.sw +└── tests + └── harness.rs +``` + +We have two new files! + +- The `Cargo.toml` is the manifest for our new test harness and specifies the required dependencies including `fuels` the Fuel Rust SDK. +- The `tests/harness.rs` contains some boilerplate test code to get us started, though doesn't call any contract methods just yet. + +Now that we have our default test harness, let's add some useful tests to it. + +At the bottom of `test/harness.rs` below the `can_get_contract_id()` test, add the `test_increment` test function below to verify that the value of the counter gets incremented: + + + +Here is what your file should look like: + +File: `./counter-contract/tests/harness.rs` + + + +Run `cargo test` in the terminal: + +```console +cargo test +``` + +If all goes well, the output should look as follows: + +```console + ... + running 2 tests + test can_get_contract_id ... ok + test test_increment ... ok + test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s +``` + +## Deploy the Contract + +It's now time to deploy the contract to the testnet. We will show how to do this using `forc` from the command line, but you can also do it using the [Rust SDK](/docs/fuels-rs/deploying) or the [TypeScript SDK](/docs/fuels-ts/contracts/deploying-contracts). + +In order to deploy a contract, you need to have a wallet to sign the transaction and coins to pay for gas. First, we'll create a wallet. + +### Setup the Wallet CLI + +If you haven't deployed a contract before, you'll need to set up a local wallet with the forc-wallet plugin. `forc-wallet` is packaged alongside the default distributed toolchains when installed using fuelup, so you should already have this installed. + +You can initialize a new wallet with the command below: + +```console +forc wallet new +``` + +After typing in a password, be sure to save the mnemonic phrase that is output. + +Next, create a new wallet account with: + +```console +forc wallet account new +``` + +With this, you'll get a fuel address that looks something like this: `fuel1efz7lf36w9da9jekqzyuzqsfrqrlzwtt3j3clvemm6eru8fe9nvqj5kar8`. Save this address as you'll need it to sign transactions when we deploy the contract. + +If you need to list your accounts, you can run the command below: + +```console +forc wallet accounts +``` + +### Get Testnet Coins + +With your account address in hand, head to the [testnet faucet](https://faucet-beta-4.fuel.network/) to get some coins sent to your wallet. + +### Deploy To Testnet + +Now that you have a wallet, you can deploy with `forc deploy` and adding the `--testnet` to target the latest network: + +```console +forc deploy --testnet +``` + +The terminal will ask for the password of the wallet: + +`Please provide the password of your encrypted wallet vault at "~/.fuel/wallets/.wallet":` + +Once you unlocked the wallet, the terminal will show a list of the accounts of this wallet: + +```console +Account 0 -- fuel18caanqmumttfnm8qp0eq7u9yluydxtqmzuaqtzdjlsww5t2jmg9skutn8n: + Asset ID Amount + 0000000000000000000000000000000000000000000000000000000000000000 499999940 +``` + +Just below the list, you'll see this prompt: + +`Please provide the index of account to use for signing:` + +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. +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. + +```console +Contract deploy-to-beta-4 Deployed! + +Network: https://beta-4.fuel.network +Contract ID: 0x8342d413de2a678245d9ee39f020795800c7e6a4ac5ff7daae275f533dc05e08 +Deployed in block 0x4ea52b6652836c499e44b7e42f7c22d1ed1f03cf90a1d94cd0113b9023dfa636 +``` + + +![block explorer](/images/block-explorer.png) + + +### Congrats, you have completed your first smart contract on Fuel β›½ + +[Here is the repo for this project](https://github.com/FuelLabs/quickstart). If you run into any problems, a good first step is to compare your code to this repo and resolve any differences. + +Tweet us [@fuel_network](https://twitter.com/fuel_network) letting us know you just built a dapp on Fuel, you might get invited to a private group of builders, be invited to the next Fuel dinner, get alpha on the project, or something πŸ‘€. + +## Need Help? + +Get help from the team by posting your question in the [Fuel Forum](https://forum.fuel.network/). From 8ecf1307ad96cf3255ce5e7cb6a945bb1c3d841d Mon Sep 17 00:00:00 2001 From: Sandusky <39354014+cold-briu@users.noreply.github.com> Date: Mon, 2 Oct 2023 10:01:28 -0500 Subject: [PATCH 16/19] docs: prereq instead of pre-req --- docs/guides/docs/installation/index.mdx | 2 +- docs/guides/docs/quickstart/building-a-smart-contract.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index 624ddbc38..44d3d184f 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -8,7 +8,7 @@ parent: # Toolchain installation -This guide will help you to install the Fuel toolchain binaries and pre-requisites. +This guide will help you to install the Fuel toolchain binaries and prerequisites. This guide covers the following topics: 1. [Installing Rust](#installing-rust) diff --git a/docs/guides/docs/quickstart/building-a-smart-contract.mdx b/docs/guides/docs/quickstart/building-a-smart-contract.mdx index 8fd522434..e20d728b0 100644 --- a/docs/guides/docs/quickstart/building-a-smart-contract.mdx +++ b/docs/guides/docs/quickstart/building-a-smart-contract.mdx @@ -10,7 +10,7 @@ parent: ## Installation -Please visit the [installation guide](guides/installation) to install the Fuel toolchain binaries and pre-requisites. +Please visit the [installation guide](guides/installation) to install the Fuel toolchain binaries and prerequisites. > 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.` From 738f2b1b1897465902119dd77e69609ba2ad4341 Mon Sep 17 00:00:00 2001 From: cold-briu Date: Tue, 3 Oct 2023 10:26:06 -0500 Subject: [PATCH 17/19] docs: fix spelling and grammar #2 --- docs/guides/docs/installation/index.mdx | 28 ++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/guides/docs/installation/index.mdx b/docs/guides/docs/installation/index.mdx index 624ddbc38..0f7fb2c0f 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -51,7 +51,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh ### Setup PATH -Once the script is downloaded, it will be executed automatically. The `fuelup-init` script will prompt something as this. +Once the script is downloaded, it will be executed automatically. The `fuelup-init` script will prompt you with the question below: ```sh fuelup uses "/home/username/.fuelup" as its home directory to manage the Fuel toolchain, and will install binaries there. @@ -65,7 +65,7 @@ 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) ``` -πŸ‘‰ If this is your first time installing the Fuel toolchain just press the `Y` key in your terminal and press _Enter_ +πŸ‘‰ Press the `Y` key in your terminal and press _Enter_ to modify your PATH. ### Checking the installation @@ -79,7 +79,7 @@ To fetch the latest toolchain containing the forc and fuel-core binaries, run 'f To generate completions for your shell, run 'fuelup completions --shell=SHELL'. ``` -πŸ‘‰ Use `fuelup --version`any time to check which version of the package you are using. +πŸ‘‰ Use `fuelup --version` any time to check which version of the package you are using. ```sh fuelup --version @@ -92,7 +92,7 @@ fuelup 0.19.5 ## Setting up a default toolchain -Just as seen 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 toolchain with 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. @@ -116,11 +116,11 @@ Moving /var/folders/tp/0l8zdx9j4s9_n609ykwxl0qw0000gn/T/.tmpiNJQHt/fuelup to /Us ### Installing the beta-4 toolchain -The `beta-4` network is the latest Fuel testnet. This includes public infrastructure such a the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). +The `beta-4` network is the latest Fuel testnet. This includes public infrastructure such as the [Beta-4 faucet](https://faucet-beta-4.fuel.network/) and the [Beta-4 GraphQL endpoint](https://beta-4.fuel.network/playground). To properly interact with the `beta-4` network it is necessary to use its corresponding toolchain. -πŸ‘‰ Run the following command to install the `beta-4`: +πŸ‘‰ Run the following command to install the `beta-4` toolchain: ```console fuelup toolchain install beta-4 @@ -131,15 +131,15 @@ If the toolchain was successfully installed, you will see this output: The Fuel toolchain is installed and up to date ``` -The toolchain was installed correctly, however is in use yet. You need to indicate `fuelup` to use the `beta-4` toolchain. +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 the `beta-4` as your default toolchain with the following command: +πŸ‘‰ Set `beta-4` as your default toolchain with the following command: ```console fuelup default beta-4 ``` -You will get the following output indicating that you are ready to go. +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' @@ -147,9 +147,9 @@ default toolchain set to 'beta-4' ### Checking your current toolchain -Sometimes you might end up using multiples toolchain at once, don't worry if you get confused about which toolchain your are using since you can check your current toolchain anytime. +Sometimes you might end up using multiple toolchains at once. Don't worry if you get confused about which toolchain you are using, since you can check your current toolchain anytime. -πŸ‘‰ Run the `fuelup show` command to see toolchain that you are using and the version of the binaries of that toolchain. +πŸ‘‰ Run the `fuelup show` command to see the toolchain and the versions of each tool you are using. ```sh fuelup show @@ -202,10 +202,10 @@ You can create your own set of specific versions, this is known as 'custom toolc You can always build the Fuel packages from source. -> πŸ‘‰ visit the [Fuelup docs](docs/fuelup/install/other) to get more details other types of installation. +> πŸ‘‰ Visit the [Fuelup docs](docs/fuelup/install/other) to get more details about other types of installation. ### Github Codespaces -It's always possible to run a development environment on 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 on 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. \ No newline at end of file From 3f957fcbc895c6ba3f3a62b89a5af7ada6d4b44d Mon Sep 17 00:00:00 2001 From: cold-briu Date: Wed, 4 Oct 2023 10:18:34 -0500 Subject: [PATCH 18/19] bump: fuels and fuel-sdk due to audit --- package.json | 4 +++- pnpm-lock.yaml | 20 +++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 0e3a603ce..3bf81682a 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,9 @@ "semver@<7.5.2": ">=7.5.2", "word-wrap": "npm:@aashutoshrathi/word-wrap", "@adobe/css-tools@<4.3.1": ">=4.3.1", - "graphql@>=16.3.0 <16.8.1": ">=16.8.1" + "graphql@>=16.3.0 <16.8.1": ">=16.8.1", + "postcss@<8.4.31": ">=8.4.31", + "zod@<=3.22.2": ">=3.22.3" } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 97c2fce99..5c4937926 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,6 +9,8 @@ overrides: word-wrap: npm:@aashutoshrathi/word-wrap '@adobe/css-tools@<4.3.1': '>=4.3.1' graphql@>=16.3.0 <16.8.1: '>=16.8.1' + postcss@<8.4.31: '>=8.4.31' + zod@<=3.22.2: '>=3.22.3' dependencies: '@docsearch/css': @@ -445,7 +447,7 @@ packages: ts-pattern: 4.3.0 unified: 10.1.2 yaml: 2.3.2 - zod: 3.22.2 + zod: 3.22.3 transitivePeerDependencies: - '@effect-ts/otel-node' - esbuild @@ -8074,12 +8076,12 @@ packages: '@swc/helpers': 0.5.1 busboy: 1.6.0 caniuse-lite: 1.0.30001525 - postcss: 8.4.14 + postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(react@18.2.0) watchpack: 2.4.0 - zod: 3.21.4 + zod: 3.22.3 optionalDependencies: '@next/swc-darwin-arm64': 13.4.19 '@next/swc-darwin-x64': 13.4.19 @@ -8488,8 +8490,8 @@ packages: - supports-color dev: false - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -10111,12 +10113,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - dev: false - - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} + /zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} dev: false /zustand@4.4.1(@types/react@18.2.21)(react@18.2.0): From c5cef4d92769c0f87d4b745535eb37ce04bcf77a Mon Sep 17 00:00:00 2001 From: cold-briu Date: Wed, 4 Oct 2023 10:49:09 -0500 Subject: [PATCH 19/19] docs: adding line breaks and rewording --- docs/guides/docs/installation/codespace.mdx | 9 ++++++--- docs/guides/docs/installation/index.mdx | 5 ++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/guides/docs/installation/codespace.mdx b/docs/guides/docs/installation/codespace.mdx index f0b229c36..b0fd61e9c 100644 --- a/docs/guides/docs/installation/codespace.mdx +++ b/docs/guides/docs/installation/codespace.mdx @@ -43,8 +43,9 @@ The way to think about [Github Codespaces](https://github.com/features/codespace Here are examples that include the Sway LSP plugin. - 1. [https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json) - 2. [https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json) + 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 @@ -56,7 +57,9 @@ The way to think about [Github Codespaces](https://github.com/features/codespace 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 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.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 d01fd65eb..fa1a82660 100644 --- a/docs/guides/docs/installation/index.mdx +++ b/docs/guides/docs/installation/index.mdx @@ -31,8 +31,7 @@ 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. @@ -93,7 +92,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). -By default, `fuelup` includes a series of toolchain with packages tested to work with each other, providing a reliable set of tools. +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.