-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
693 additions
and
428 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,18 @@ | ||
{ | ||
"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." | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 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 | ||
|
||
<Box.Centered> | ||
![dev container walkthrough](/images/dev-container.gif) | ||
</Box.Centered> | ||
|
||
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. | ||
|
||
3.1. [https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/sway/blob/master/.devcontainer/devcontainer.json) | ||
|
||
3.2. [https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json](https://github.com/FuelLabs/quickstart/blob/master/.devcontainer/devcontainer.json) | ||
|
||
### How to start a codespace | ||
|
||
1. Navigate to the repo that has Github Codespaces configured. | ||
2. Choose Code β Create codespace on master | ||
|
||
<Box.Centered> | ||
![Create codespace walkthrough](/images/create-codespace.gif) | ||
</Box.Centered> | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,210 @@ | ||
--- | ||
title: Installation | ||
category: Installation | ||
parent: | ||
label: Guides | ||
link: /guides | ||
--- | ||
|
||
# Toolchain installation | ||
|
||
This guide will help you to install the Fuel toolchain binaries and prerequisites. | ||
|
||
This guide covers the following topics: | ||
1. [Installing Rust](#installing-rust) | ||
2. [Installing the Fuel toolchain using `fuelup`](#installing-the-fuel-toolchain-using-fuelup) | ||
3. [Setting up a default toolchain](#setting-up-a-default-toolchain) | ||
|
||
## Installing Rust | ||
|
||
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 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. | ||
|
||
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) | ||
``` | ||
|
||
π Press the `Y` key in your terminal and press _Enter_ to modify your PATH. | ||
|
||
### Checking the installation | ||
|
||
After allowing the `fuelup-init` script to modify your `PATH` variable, you will see a lot of information about packages being downloaded and installed. If everything goes as expected you will see the following message: | ||
|
||
```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 in [Rust](https://rust-lang.github.io/rustup/concepts/toolchains.html), Fuel supports multiple toolchains. A toolchain is a collection of tools (such as the compiler, lsp, etc). | ||
By default, `fuelup` includes a series of packages tested to work with each other, providing a reliable set of tools. | ||
|
||
In this case, we will install the `beta-4` toolchain, which is the stable toolchain compatible with the beta-4 network. For more information on `beta-4` check the [Fuel blog](https://fuel-labs.ghost.io/announcing-beta-4-testnet/) page. | ||
|
||
### 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 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` toolchain: | ||
|
||
```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 not in use yet. Next, you need to configure `fuelup` to use the `beta-4` toolchain as the default. | ||
|
||
π 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 have successfully set `beta-4` as your default toolchain. | ||
|
||
```console | ||
default toolchain set to 'beta-4' | ||
``` | ||
|
||
### Checking your current toolchain | ||
|
||
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 the toolchain and the versions of each tool you are using. | ||
|
||
```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 about other types of installation. | ||
### Github Codespaces | ||
|
||
It's always possible to run a development environment in the browser. | ||
|
||
> π Please visit our guide on [Github Codespaces](guides/installation/codespace) to use the Fuel toolchain in the browser. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.