Deployments may be launched on the GPU Testnet via the Akash Console, Akash Console, and the Akash CLI. Follow the links provided below based on your preferred deployment tool.
Akash Console
Akash Console for GPU Testnet Overview
Akash Console is a web based application that makes it easy to deploy applications onto the Akash Network. Post deployment, Akash Console provides a dashboard to view the status and details of workloads. The dashboard also has the ability to perform administrative tasks including closing the deployment, updating the deployment, redeploying, and increasing the funding available to the deployment.
This guide will cover the following topics that are relevant for Akash Console use in the GPU Testnet:
- Akash Console Access
- GPU Testnet Settings
- Keplr Account Selection and Funding
- MInesweeper Deployment Example
Akash Console Access
Before Getting Started
The Keplr browser extension must be installed and with sufficient funds (5AKT minimum for a single deployment plus a small amount for transaction fees).
Follow our Keplr Wallet guide to create your first wallet if necessary.
Akash Console Access
The Akash Console web app is available via the following URL:
GPU Testnet Settings
Configure GPU Testnet Network Settings
- Prior to launching a deployment, we need need to configure a few settings for GPU Testnet use
Access Settings
- Begin by accessing the Settings via selection of the gear icon and as depicted below
Initial Settings
- The Console is most likely current configured to interact with the Akash Mainnet
- In the depiction below we find this to be the case. The Console is connected to
Mainnet
.
Update Settings for GPU Testnet Use
- To interact with the GPU Testnet via the Akash Console, select the
edit
icon (it looks like a pencil, see the diagram below) in theNetwork
section.
A box would pop-up, asking you to select network
.
- Select the
Sandbox
network. - Click the
Save
button.
Your selected network would now be listed as Sandbox
.
Keplr Account Selection and Funding
Keplr Account Selection
Select a pre-existing tAkash account within Keplr. If you do not have a pre-existing Akash account - use the Add Wallet
feature within Keplr to create a new account.
Connect Wallet
Use the Connect Wallet
button to connect the account selected in Keplr in the prior step to the Akash Console. Select Keplr
from the wallet selector.
Fund Selected Account via Testnet Faucet
Visit the Testnet faucet here to fund your provider account.
Enter the address of the account selected in previous step. The address of the account can be copied from the Keplr wallet.
Example Use of Akash Testnet Faucet
Example/Expected Faucet Output
The following screen shot shows an example/expected output following successful submission to the Testnet faucet. Note that the displayed transaction hash will be unique and different than the one displayed in this example. Receipt of this screen confirms successful funding of your account with 25AKT
.
Minesweeper Deployment Example
In this section we will use the Akash Console to launch an example Minesweeper deployment on the Akash Testnet. You can follow the same process for any other workload so long as it is containerized and you have an appropriate SDL.
STEP 1 - Create the Deployment
- Begin the process of creating a new deployment by clicking opn the
Deploy
button on the top left corner of the page.
- A number of deployment types are presented in the gallery
- For our purposes we will import a SDL for the Minesweeper deployment example. Select
Build your template
to proceed.
You would be redirected to the page below. Click on the YAML
button.
Copy Awesome Akash Minesweeper SDL
- The Minesweeper SDL (Stack Definition Language) file - which is the recipe for an Akash Deployment - can be found in the Awesome Akash repository here.
- Copy the contents of the SDL into the YAML C editor as demonstrated below.
- Select
Save & Close
when complete
Name Deployment and Proceed
- Optionally assign the deployment a useful/descript name
- Select
Create Deployment
when complete to proceed to the next step
- You’ll be required to make a minimum deposit of 5 AKT or 5 USDC. Enter at least that amount and click on the
Continue
button.
- You then approve the transaction. If you are having trouble with the transaction being completed, try setting the
gas fees
to eithermedium
orhigh
.
STEP 2 - Select Provider
- You would be redirected to the Providers page.
- A list of Akash providers who bid on the deployment is presented
- Select the Akash provider of your choice
- Select
Submit Deploy Request
to complete the deployment process - Accept Keplr gas fee prompt to proceed
NOTE - ensure to select
ALL
instead of the defaultOnly Audited
selection near the top right of the pane for Testnet purposes. This will allow bids from all providers to display.
STEP 3 - Deployment Confirmation and Testing
- Following successful deployment of the Minesweeper SDL to the selected Akash provider, a status page will be presented as depicted in the example below
- This page can be used to view logs of the deployment and obtain general deployment info
- Allow the deployment a couple of minutes to fully deploy and then test Minesweeper by selecting the generated URL of the deployment
Select URL to Test Deployment
Expected Result of Initial Deployment Testing
Summary and Next Steps
- This completes our walk through of a example SDL and associated deployment onto the Akash Testnet network
- The steps presented in this guide can be used for any future deployments and associated SDLs
Akash CLI for GPU Testnet
Explore detailed steps and options of the Akash CLI. In this guide we will define each environment variable and use within each command.
Overview of Getting Started with Akash CLI Steps
- Install Akash
- Create an Account
- Fund your Account
- Configure your Network
- Create your Configuration
- Create your Certificate
- Create your Deployment
- View your Bids
- Create a Lease
- Send the Manifest
- Update the Deployment
- Close Deployment
Install Akash CLI
Select a tab below to view instructions for MacOS, Linux, or compiling from source.
MacOS
Download Akash Binary
NOTE - in the commands below we download the Akash binary for version 0.6.4
and the darwin_all
. If an alternate binary is needed, visit this GitHub Release page and find/replace the link used appropriately
Move the Akash Binary
Move the binary file into a directory included in your path
Verify Akash Installation
Verify the installation by using a simple command to check the Akash version
Expect/Example Output
Download Akash Binary
NOTE - in the commands below we download the Akash binary for version
0.6.4
and aAMD-64
architecture. If an alternate binary is needed, visit this GitHub Release page and find/replace the link used appropriately.
Add Akash Install Location to User’s Path
Add the software’s install location to the user’s path for easy use of Akash commands.
NOTE: Below we provide the steps to add the Akash install directory to a user’s path on a Linux Ubuntu server. Please take a look at a guide for your operating system and how to add a directory to a user’s path.
Open the user’s path file in an editor:
View within text editor prior to the update:
Add the following directory, which is the Akash install location, to PATH
. In this example the active user is root. If logged in as another username, replace /root with your current/home directory.
View within the text editor following the update:
Make the Path Active in the Current Session
Verify Akash Install
Display the version of Akash software installed. This confirms the software installed and that the new user path addition worked.
Expected/Example Result
Create an Account
Configure the name of your key. The command below will set the name of your key to myWallet
, run the below command and replace myWallet
with a name of your choice:
Verify you have the shell variables set up . The below command should return the name you’ve used:
We now need to point Akash to where the keys are stored for your configuration. To do this we will set the AKASH_KEYRING_BACKEND environmental variable.
Copy and paste this command into Terminal to create an Akash account:
Read the output and save your mnemonic phrase is a safe place. Let’s set a Shell Variable in Terminal AKASH_ACCOUNT_ADDRESS
to save your account address for later.
Note that if you close your Terminal window this variable will not be saved.
Fund your Account
Fund Created Account via Testnet Faucet
Visit the Testnet faucet here to fund your provider account.
Enter the address of the myWallet
account created in previous steps as prompted by the faucet.
Example/Expected Faucet Output
The following screen shot shows an example/expected output following successful submission to the Testnet faucet. Note that the displayed transaction hash will be unique and different than the one displayed in this example. Receipt of this screen confirms successful funding of your account with 25AKT
.
Configure your Network
Configure the Testnet Chain ID and RPC Node
Confirm your network variables are setup
Your values may differ depending on the network you’re connecting to.
You should see something similar to:
Set Additional Environment Variables
Set the below set of environment variables to ensure smooth operations
Variable | Description | Recommended Value |
---|---|---|
AKASH_GAS | Gas limit to set per-transaction; set to “auto” to calculate sufficient gas automatically | auto |
AKASH_GAS_ADJUSTMENT | Adjustment factor to be multiplied against the estimate returned by the tx simulation | 1.15 |
AKASH_GAS_PRICES | Gas prices in decimal format to determine the transaction fee | 0.025uakt |
AKASH_SIGN_MODE | Signature mode | amino-json |
Check your Account Balance
Check your account has sufficient balance by running:
You should see a response similar to:
Your account must have a minimum balance of 0.5 AKT to create a deployment. This 0.5 AKT funds the escrow account associated with the deployment and is used to pay the provider for their services. It is recommended you have more than this minimum balance to pay for transaction fees. For more information on escrow accounts, see here
Create your Configuration
Create a deployment configuration deploy.yml
to deploy an example GPU enabled workload via the steps and SDL provided in this section.
Akash GPU Enabled Manifest/SDL
You may use the sample deployment file as-is or modify it for your own needs as described in our SDL (Stack Definition Language) documentation.
EXAMPLE GPU ENABLED SDL:
Create your Certificate
In this step we will create a local certificate and then store the certification on the block chain
- Ensure that prior steps in this guide have been completed and that you have a funded wallet before attempting certificate creation.
- Your certificate needs to be created only once per account and can be used across all deployments.
Generate Cert
- Note: If it errors with
Error: certificate error: cannot overwrite certificate
, then add--overwrite
should you want to overwrite the cert. Normally you can ignore that error and proceed with publishing the cert (next step).
Publish Cert to the Blockchain
Create your Deployment
Akash Deployment
To deploy on Akash, run:
You should see a response similar to:
Find your Deployment #
Find the Deployment Sequence (DSEQ) in the deployment you just created. You will need to replace the AKASH_DSEQ with the number from your deployment to configure a shell variable.
Now set the Order Sequence (OSEQ) and Group Sequence (GSEQ). Note that if this is your first time deploying on Akash, OSEQ and GSEQ will be 1.
Verify we have the right values populated by running:
View your Bids
After a short time, you should see bids from providers for this deployment with the following command:
Choose a Provider
Note that there are bids from multiple different providers. In this case, both providers happen to be willing to accept a price of 1 uAKT. This means that the lease can be created using 1 uAKT or 0.000001 AKT per block to execute the container. You should see a response similar to:
For this example, we will choose akash10cl5rm0cqnpj45knzakpa4cnvn5amzwp4lhcal
Run this command to set the provider shell variable:
Verify we have the right value populated by running:
Create a Lease
Create a lease for the bid from the chosen provider above by running this command:
Confirm the Lease
You can check the status of your lease by running:
Note the bids will close automatically after 5 minutes, and you may get the response:
If this happens, close your deployment and open a new deployment again. To close your deployment run this command:
If your lease was successful you should see a response that ends with:
Please note that once the lease is created, the provider will begin debiting your deployment’s escrow account, even if you have not completed the deployment process by uploading the manifest in the following step.
Update the Deployment
Update the Manifest
Update the deploy.yml manifest file with the desired change.
NOTE:** Not all attributes of the manifest file are eligible for deployment update. If the hardware specs of the manifest are updated (I.e. CPU count), a re-deployment of the workload is necessary. Other attributes, such as deployment image and funding, are eligible for updates.
Issue Transaction for On Chain Update
Send Updated Manifest to Provider
Close Deployment
Close the Deployment
Should you need to close the deployment follow this step.