Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fizz updated FAQ and some guide fixes #216

Merged
merged 3 commits into from
Oct 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/permission-denied-error.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 6 additions & 7 deletions pages/_app.tsx → pages/_app.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import Head from "next/head";
import SpheronLogo from "../assets/favicon.ico";

const METADATA = {
title: "Spheron Documentation",
description: "Power your dapp with Spheron's next-generation infrastructure.",
url: "https://docs.spheron.network/",
image: "https://www.spheron.network/meta-og-image.png",
};

export default function App({ Component, pageProps }) {
const METADATA = {
title: "Spheron Documentation",
description: "Power your dapp with Spheron's next-generation infrastructure.",
url: "https://docs.spheron.network/",
image: "https://www.spheron.network/meta-og-image.png",
};
return (
<>
<Head>
Expand Down
2 changes: 2 additions & 0 deletions pages/fizz.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import VideoPlayer from "components/video-player";

# Fizz Node

<VideoPlayer embedId="a1EoK91Cjzk" />

This section will guide you through the process of deploying and managing a Spheron Fizz node.

Fizz nodes are designed for users who want to contribute compute resources to the Spheron network without the higher reliability requirements of full provider nodes. This guide covers everything from initial setup to advanced configurations, including:
Expand Down
102 changes: 98 additions & 4 deletions pages/fizz/fizz-faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,52 @@ This error occurs because Homebrew installs the `amd64` (Intel) version of Docke

Installing Docker directly from the official website ensures compatibility with your Apple Silicon device and eliminates the "Incompatible CPU Detected" error. After you've installed Docker on your Mac and verified it's working, re-run the Fizz Node installation script. This time, it should work for you without any hiccups.

#### 6. What happens if a GPU owner turns off their device while I'm training a model? Will I lose my progress?
#### 6. Can I run multiple Fizz Nodes on a single device?

Yes, if the GPU owner shuts down their device during your training session, you will lose the progress made. Fizz Nodes are intended for short-running tasks rather than long-term processes. Currently, there's no mechanism to prevent this interruption. For long-running services or tasks involving sensitive data, we recommend using our **Provider mode**, which utilizes data center-grade GPUs designed for continuous operation.
No, you can only run one Fizz Node per device. Each Fizz Node is designed to operate independently on a single machine. Additionally, each Fizz Node is mapped to a single wallet address, and you cannot use the same address for multiple Fizz Nodes. This limitation is in place for several reasons:

#### 7. Is my data secure using someone else's GPU through a Fizz Node?
1. **Resource Management**: Running multiple nodes on a single device could lead to resource conflicts and performance issues.
2. **Fairness**: Limiting to one node per device helps maintain a fair distribution of nodes across the network.
3. **Security**: Mapping each node to a unique wallet address enhances the security and accountability of the network.

If you want to run additional Fizz Nodes, you'll need to use separate devices, each with its own unique wallet address.

#### 7. I have two or more GPUs in my device. Can I run the node to add them all?

This limitation is due to the Fizz Node Software's current design, which is optimized for single-GPU setups. However, the Spheron team is actively working on enhancing this capability.

Future updates aim to allow Fizz Nodes to utilize multiple GPUs simultaneously, which will enable users with multi-GPU setups to contribute more computational power to the network. This improvement will maximize the potential of high-performance systems and provide more flexibility for node operators.

Stay tuned for announcements from the Spheron team regarding updates that will enable multi-GPU support in Fizz Nodes.

#### 8. I'm getting a permission denied error when running the fizzup.sh script. How do I fix this?

If you encounter a "permission denied" error when running the `fizzup.sh` script, it's likely because the script is trying to access `/root/.spheron`, which your current user doesn't have permission to access. This error might look something like this:

![Permission Denied Error](assets/permission-denied-error.png)

To resolve this issue, you need to switch to the root user before executing the script. Follow these steps:

1. Switch to the root user:
```bash
sudo bash
```

2. Once you're in the root shell, run the fizzup.sh script:
```bash
./fizzup.sh
```

This should allow the script to access the necessary directories and complete the installation process. Remember to exercise caution when operating as the root user, as it has unrestricted access to your system.


#### 9. Is my data secure using someone else's GPU through a Fizz Node?

When you use a Fizz Node, your data is processed on another user's GPU system. At present, there is no way to prevent a technically savvy GPU owner from accessing your data. We advise against using private or sensitive data on Fizz Nodes. If you need to work with sensitive information, consider using the **Provider** mode to deploy on data center-grade GPUs with enhanced security measures.

Alternatively, you can implement a system where a proxy server handles your data manipulation and storage. You can send data to the service running on the Fizz Node at runtime using secure connections or encryption for tasks like training or fine-tuning. After processing, the results can be retunred to your proxy server for further handling and secure storage. This approach makes accessing your data more difficult for the Fizz Node runner during runtime.

#### 8. How do I check the status of my Fizz Node?
#### 10. How do I check the status of my Fizz Node?

To check the status of your Fizz Node, follow these steps:

Expand All @@ -66,4 +101,63 @@ To check the status of your Fizz Node, follow these steps:

By following these steps, you can verify the status of your Fizz Node and troubleshoot any issues if the container is not running.

#### 11. How do I check the reward details of my Fizz Node?

To check the reward details of your Fizz Node, follow these steps:

1. **Access the Fizz Node Dashboard**:
- Go to the Fizz Node dashboard by navigating to the URL provided in the setup process.

2. **Review the Reward Details**:
- The Fizz Node dashboard will display the reward details in FN points.

By following these steps, you can check the reward details of your Fizz Node.

#### 12. When I ran the Fizz Node script, I got an error saying "brew command not found". How do I fix this?

If you encounter an error stating that the "brew command not found" when running the Fizz Node script, it means that Homebrew is not installed on your system or is not properly configured in your PATH. Homebrew is a package management system for macOS on which the Fizz Node script relies. To resolve this issue, follow these steps:

1. **Install Homebrew**:
Open your terminal and run the following command to install Homebrew:

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

This command downloads and runs the Homebrew installation script.

2. **Set up the PATH to Homebrew**:
After installation, you need to ensure that Homebrew is in your system's PATH. Run this command to add Homebrew to your PATH:

```bash
echo 'PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
```

This command appends the Homebrew binary path to your bash profile.

3. **Reload your bash profile**:
To apply the changes immediately, run:

```bash
source ~/.bash_profile
```

4. **Verify Homebrew installation**:
Test if Homebrew is working correctly by running:

```bash
brew help
```

If Homebrew is properly installed and configured, you should see the help output for Homebrew commands.

5. **Run the Fizz Node script again**:
If the brew command is now working properly, you can run the Fizz Node script again:

```bash
./fizzup.sh
```

By following these steps, you should be able to resolve the "brew command not found" error and successfully run the Fizz Node script. If you continue to experience issues, ensure that your system meets all the prerequisites for running a Fizz Node and consider reaching out to the Spheron support community for further assistance.

<Navigation name="Fizz Node FAQ" />
4 changes: 2 additions & 2 deletions pages/fizz/hardware-requirements.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ Fizz nodes are supported on **MacOS and Linux**, with Windows support coming soo
### Minimum Specs
- 4 CPU
- 8 GB RAM
- 100 GB disk
- 100 GB Storage

### Maximum Specs
- 32 CPU
- 128 GB RAM
- 2000 GB disk
- 2000 GB Storage


<Callout type="info">
Expand Down
36 changes: 35 additions & 1 deletion pages/fizz/setup-fizz.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,39 @@ To begin, you must register your Fizz node on the Spheron network. Follow these

4. To complete the registration, you'll need some ETH on the Spheron chain for gas fees. If you don't have any, you can get some from our faucet at [faucet.spheron.network](https://faucet.spheron.network).

5. Once you confirm the transaction, your node will be officially registered in the Spheron network, and you can proceed to the next steps.
5. (Optional) If the Spheron faucet is not working, you can obtain ETH from Arbitrum Sepolia and bridge it to the Spheron chain:

a. Get Arbitrum Sepolia ETH from one of these faucets:
- [QuickNode Faucet](https://faucet.quicknode.com/arbitrum/sepolia)
- [Alchemy Faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
- [Chainlink Faucet](https://faucets.chain.link/arbitrum-sepolia)
- [LearnWeb3 Faucet](https://learnweb3.io/faucets/arbitrum_sepolia/)

b. Once you have ETH on Arbitrum Sepolia, use the [Spheron Bridge](https://spheron-devnet-eth.bridge.caldera.xyz/) to transfer ETH to the Spheron chain.

c. After bridging, check your balance on the Spheron chain to ensure the transfer was successful.

<Callout type="info">
This step is only necessary if you could not get ETH from the Spheron faucet. You can skip this step if you successfully obtained ETH from the Spheron faucet.
</Callout>

6. Now click on the "Register" button.

7. Once you confirm the transaction, your node will be officially registered in the Spheron network, and you can proceed to the next steps.

## Learn About Your System Specs / Resources

### Mac Users: How to Check Your System Configuration

Before we start, you need to open something called the Terminal. It's like a special notepad where you can type commands to talk to your computer. Here's how to find it:

1. Look for a magnifying glass icon at the top right of your screen. That's called Spotlight.
2. Click on it or simultaneously press the Command (⌘) key and Space bar.
3. Type "Terminal" and press Enter.
4. A white or black window will open. That's the Terminal!

Now that you have the Terminal open, you can type these magic words (we call them commands) to learn about your computer:

- **Check Storage Type:**
```
system_profiler SPStorageDataType
Expand All @@ -61,8 +88,15 @@ To begin, you must register your Fizz node on the Spheron network. Follow these
system_profiler SPDisplaysDataType
```


### Linux Users: How to Check Your System Configuration

To use these commands:
1. Click inside the Terminal window.
2. Type or copy-paste one of the commands above.
3. Press the Enter key.
4. The computer will show you some information. That's what we're looking for!

- **Check Storage Information:**
```
df -h
Expand Down
48 changes: 32 additions & 16 deletions pages/user-guide/deploy-your-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,30 +50,40 @@ Once created, the wallet will be saved locally at `~/.spheron`. You can access t
The newly created wallet will automatically be set as the current wallet. If needed, you can change the wallet by following the instructions in the [Changing Your Wallet](/user-guide/protocol-cli#changing-your-wallet) section.
You can also export the private key of your newly generated wallet. Please follow the instructions given in [Export the Private Key of Wallet](/user-guide/protocol-cli#export-the-private-key-of-wallet).

### Step 3: Get Some test token from the Faucet
### Step 3: Get Some test tokens from the Faucet and ETH from the Faucet

1. Visit the [Spheron Faucet](https://faucet.spheron.network/).

![Spheron Faucet](assets/spheron-faucet.png)

2. Choose USDT or any other token option and enter the wallet address of the wallet you generated in the previous section.
2. First, get some ETH gas tokens on the Spheron chain:
- Select ETH from the list in the faucet.
- Enter the wallet address of the wallet you generated in the previous section.
- Click the "Send Token" button to start the transaction.

3. Click on the Send Token button.
3. Next, get some USDT tokens for testing deployment:
- Select USDT from the token options.
- Enter the same wallet address you used for ETH.
- Click on the "Send Token" button.

4. Wait for the transaction to be confirmed.
4. Wait for both transactions to be confirmed.

5. Check if you got the test USDT token on your wallet:
5. Check if you got the test ETH and USDT tokens in your wallet:
```
sphnctl wallet balance --token USDT
```
This will show both USDT and ETH balances in your wallet.

<Callout type="info">
**Note:** If you have choosen a different token from the faucet, to check it's balance you need to pass the name of that token in all caps.
**Note:** If you have chosen a different token from the faucet, to check its balance you need to pass the name of that token in all caps.
</Callout>

### Step 2: Get Some Arbitrum Sepolia ETH
### Step 4: Get Some Arbitrum Sepolia ETH and Bridge to Spheron Chain (Optional)
<Callout type="info">
**Note:** This step is only necessary if you could not get ETH from the Spheron faucet in Step 3. You can skip this step if you successfully obtained ETH from the Spheron faucet.
</Callout>

Below, you can find faucets for obtaining test ETH token for Arbitrum Sepolia chain.
In case you need an alternative source of ETH, you can obtain some on the Arbitrum Sepolia chain from the following faucets:

| Faucet Operator | Faucet URL | Chain |
|--------------------|-------------------------------------------------------|-------------------|
Expand All @@ -82,18 +92,24 @@ Below, you can find faucets for obtaining test ETH token for Arbitrum Sepolia ch
| Chainlink | https://faucets.chain.link/arbitrum-sepolia | Arbitrum Sepolia |
| LearnWeb3 | https://learnweb3.io/faucets/arbitrum_sepolia/ | Arbitrum Sepolia |

### Step 3: Deposit some token to Your Escrow Balance
Once you have obtained ETH on the Arbitrum Sepolia chain, you can use our bridge to transfer the ETH token to the Spheron chain. Here is the bridge URL for bridging the ETH token:

[Spheron Bridge](https://spheron-devnet-eth.bridge.caldera.xyz/)

After bridging, check your balance on the Spheron chain to ensure the transfer was successful.

### Step 5: Deposit some token to Your Escrow Balance

Depositing your tokens into the escrow is the first step to deploying your app on the Spheron Protocol. Ensure you have sufficient tokens in your escrow balance to lock the necessary funds for the deployment. Please follow the instructions below to proceed:

1. Deposit USDT / any other token to the escrow wallet:

```
sphnctl payment deposit --amount 10000000 --token USDT
sphnctl payment deposit --amount 10 --token USDT
```
Here, the amount must be in the full precision of the token. To determine the precision of the token you are depositing, please refer to the [Supported Payment Tokens](/user-guide/supports#supported-payment-tokens) section.

2. Now check if you have balance in unlocked state in your wallet:
2. Now check if you have a balance in an unlocked state in your wallet:

```
sphnctl wallet balance --token USDT
Expand All @@ -104,7 +120,7 @@ sphnctl wallet balance --token USDT
</Callout>


### Step 4: Deploy an app
### Step 6: Deploy an app

Now let's deploy an app to Spheron Protocol. Please follow the instructions below to proceed:

Expand Down Expand Up @@ -203,7 +219,7 @@ Deployment is finished.

The `lid` that we get from the deployment is called **Lease ID** & 44 is the Lease ID in this example. This is the identifier that you need to use to access your deployment's logs and status.

### Step 5: Access Your Deployment
### Step 7: Access Your Deployment
To access your deployment / lease details, you need to run this command to fetch it:

This will contain URL to access the deployment server, all the assigned ports and the URI to access it. With this you can check your deployment status.
Expand All @@ -219,7 +235,7 @@ Status of the deployment ID: 44
Deployment details:
Status: Matched
Provider: avaaaa
Price: 1.21222
Price per hour: 1.21222
Start time: 2024-07-25T10:10:12Z

Services running:
Expand All @@ -233,7 +249,7 @@ Services running:
IPs: []
```

### Step 6: Fetching Deployment Logs
### Step 8: Fetching Deployment Logs

To fetch your deployment logs, you need to use the Lease ID.

Expand All @@ -258,7 +274,7 @@ Here is the logs for the Lease ID: 44
...
```

### Step 7: Connect to the deployment shell
### Step 9: Connect to the deployment shell

To connect to the deployment shell, you need to run this command:

Expand Down
2 changes: 1 addition & 1 deletion pages/user-guide/protocol-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ Status of the deployment ID: [Lease ID]
Deployment details:
Status: Matched
Provider: avaaaa
Price: 1.21222
Price per hour: 1.21222
Start time: 2024-07-25T10:10:12Z

Services running:
Expand Down