# Configuration

To use Godot Solana SDK properly, you need to get yourself familiar with **SolanaService** autoload scene. You can find it in *addons -> SolanaSDK -> Autoloads -> SolanaService.tscn*

## RPC Configuration

This is a UI layer scene, consisting of a couple very important scripts. First of all, in the root of SolanaService, you can adjust which RPCCluster your game will use, between **Mainnet** and **Devnet.** If you're not familiar with these terms, read [here](https://solana.com/docs/core/clusters)

<figure><img src="https://3564869985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbBsXAvrfZka40bbQ0val%2Fuploads%2F5JmEEFP9G7bcCOCF5NSZ%2FScreenshot%202024-10-11%20133947.png?alt=media&#x26;token=ad9cd1b7-f6c4-4282-8e32-523a26892dc4" alt=""><figcaption></figcaption></figure>

You are also able to add your own custom Mainnet and Devnet RPC links for faster transactions and better overall quality. If you leave these empty, default Solana RPCs will be used.

Helius offers a generous free tier for both mainnet and devnet links. Register and set them up [here](https://www.helius.dev/?gad_source=1\&gclid=CjwKCAiAt5euBhB9EiwAdkXWO0RDLQCV6GfGZUHLeI2t7R-gPrX9-9H74yYc_tEU45F1ZH1ZkEKZSxoC_qUQAvD_BwE)

## Wallet Configuration

In the same **SolanaService** scene, there is a **WalletService** node, which is responsible for user wallet authentication and interaction within the game. By clicking **Use Generated** you will be authenticated with a newly-generated wallet (same one each time you play, as the seed is your computer's ID)

You can also decide to use your own custom wallet by providing a path to the json file, where you wallet's private key is written down in byte array format

<figure><img src="https://3564869985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbBsXAvrfZka40bbQ0val%2Fuploads%2F8G2gwEF56kBwWaUX9cnW%2Fimage.png?alt=media&#x26;token=21ac01bd-c1be-4589-860e-bec25a94c195" alt=""><figcaption></figcaption></figure>

## **Asset Manager**

Another autoload is the Asset Manager, which you can use to load up all NFTs and tokens of the user, and also some utility functions to make displaying tokens easier. There's some configuration to it as well, like setting whether NFTs should load right when a user logs in and whether load all their textures as well

<figure><img src="https://3564869985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbBsXAvrfZka40bbQ0val%2Fuploads%2FIWpb59yVSnsLzXI8Vz1q%2FScreenshot%202024-10-11%20134001.png?alt=media&#x26;token=16bc2aa4-9e3a-40d3-9259-1955e4faa3ec" alt=""><figcaption></figcaption></figure>

## ShdwDrive Creator

If you plan on minting NFTs in-game or do anything that needs offchain metadata or images, we have this nifty tool to put your assets to ShdwDrive decentralized storage. You can import your wallet keypair and create storages and upload files to them through the editor.&#x20;

Only works with mainnet RPC set in **Project Settings -> SolanaSDK -> Client**

**You also need to have some $SHDW and SOL in your wallet to successfully use it!**

<figure><img src="https://3564869985-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbBsXAvrfZka40bbQ0val%2Fuploads%2FwlCz7HdOHWBuZxxoz67n%2Fimage_2024-10-11_134432153.png?alt=media&#x26;token=cb821e71-eb66-4bd2-8961-170406734d60" alt=""><figcaption></figcaption></figure>
