LogoLogo
x1.xyzValidatorsExplorerTPSX
  • Introduction to X1
    • The constitution of X1
  • Technicals
    • Zero-cost votes
    • Dynamic base fees
    • Technical roadmap
      • SVM capacity scaling
      • Homomorphic encryption
      • Stake, performance, and randomness-based leader selection
      • Scaling through reductionism
  • Validating
    • Create a read-only node
    • Create a validator node
    • Network upgrades
      • Tachyon 2.0
        • Advanced Notes
    • Staking functions
    • Performance
      • Hardware requirements
      • Ping validator
      • Node maintenance
    • Cluster
    • Community
    • Misc commands
    • Testnet faucet
    • Validator rewards
  • Get XN
  • Build on X1
    • Resources
    • Create programs on X1
    • Metaplex
  • Wallets
    • Backpack
Powered by GitBook
On this page
  • Quick installation
  • Install needed libraries
  • Install the Solana CLI(Linux)
  • Create keypair
  • Install rust and cargo
  • Install anchor
  • Create and deploy a program with Anchor
  • Initialise a new project
  • Display Anchor.toml
  • Change provider to X1 Testnet RPC
  • Set to X1 testnet
  • Fund wallet
  • Build project
  • Deploy program
  • Confirm test transaction
  • Modify program
  • If error
  • Tutorial
Export as PDF
  1. Build on X1

Create programs on X1

Basic setup for creating programs on X1 with Anchor

PreviousResourcesNextMetaplex

Last updated 2 months ago

You can also use .

This section covers the steps to set up your local environment for X1 development.

Quick installation

On Linux, run this single command to install all dependencies.

curl --proto '=https' --tlsv1.2 -sSfL https://raw.githubusercontent.com/solana-developers/solana-install/main/install.sh | bash

After installation, you should see output similar to the following:

Installed Versions:
Rust: rustc 1.84.1 (e71f9a9a9 2025-01-27)
Solana CLI: solana-cli 2.0.26 (src:3dccb3e7; feat:607245837, client:Agave)
Anchor CLI: anchor-cli 0.30.1
Node.js: v23.7.0
Yarn: 1.22.1

If the quick installation command above doesn't work, please refer to instructions below to install each dependency individually.

Install needed libraries

sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev libssl-dev npm
sudo npm install -g yarn

Install the Solana CLI(Linux)

The Solana CLI provides all the tools required to build and deploy Solana programs.

Install the Solana CLI tool suite using the official install command:

sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"

You can replace stable with the release tag matching the software version of your desired release (i.e. v2.0.3), or use one of the three symbolic channel names: stable, beta, or edge.

If it is your first time installing the Solana CLI, you may see the following message prompting you to add a PATH environment variable:

Close and reopen your terminal to apply the PATH changes or run the following in your existing shell:
export PATH="/Users/test/.local/share/solana/install/active_release/bin:$PATH"

If you are using a Linux or WSL terminal, you can add the PATH environment variable to your shell configuration file by running the command logged from the installation or by restarting your terminal.

export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"

To verify that the installation was successful, check the Solana CLI version:

solana-cli 2.0.26 (src:3dccb3e7; feat:607245837, client:Agave)

To later update the Solana CLI to the latest version, you can use the following command:

agave-install update

Create keypair

Using command solana-keygen to generate a new wallet. It will generate a 12-word seed (aka. mnemonic, or recovery) phrase. Save it safe.

solana-keygen new --no-passphrase -o ~/.config/solana/id.json
solana config set -k ~/.config/solana/id.json

Install rust and cargo

curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env

Use the latest stable rust version:

rustup update

Check version:

cargo -V

On Linux systems you may need to install libssl-dev, pkg-config, zlib1g-dev, protobuf etc.

sudo apt-get update
sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler

Rust installation link for reference:

Install anchor

Install avm using Cargo. Note this will replace your anchor binary if you had one installed:

cargo install --git https://github.com/coral-xyz/anchor avm --locked --force

Install the latest version of the CLI using avm, and then set it to be the version to use:

avm install latest
avm use latest

Verify installation:

anchor --version

Anchor installation link for reference:

Create and deploy a program with Anchor

Initialise a new project

anchor init <project name>
cd <project name>

Display Anchor.toml

cat Anchor.toml

programs: <project name> = "program ID" cluster = localnet wallet = path to wallet scripts: how yarn is used to run a test

Change provider to X1 Testnet RPC

nano Anchor.toml

Set to X1 testnet

solana config set -u https://rpc.testnet.x1.xyz

To verify set network, use:

solana config get

Fund wallet

Verify received airdrop:

solana balance

Build project

anchor build

Deploy program

anchor test

Confirm test transaction

solana confirm -v <tx hash>

Or:

Modify program

cd programs/<project name>/src
nano lib.rs

Go back to original <project name> directory, before building and deploying program again.

If error

instruction 0: account data too small for instruction

The byte size is pre-set for initial deployment. You can increase byte size by:

solana program extend <program id> 15000

Tutorial

Change localnet to:

playground
https://rpc.testnet.x1.xyz
Install Rustrustlang
Installation - Docs
X1 TESTNET FAUCET
Logo
Explorer | X1 Network ™
Logo