Parallel Universe
  • Learn
    • Introduction to PUT
    • Getting started with PUT
  • Architecture
    • What is a PUT Cluster?
    • Clusters
      • PUT Clusters
      • RPC Endpoints
      • Benchmark a Cluster
      • Performance Metrics
    • Consensus
      • Synchronization
      • Leader Rotation
      • Fork Generation
      • Managing Forks
      • Turbine Block Propagation
      • Commitment Status
      • Secure Vote Signing
      • Stake Delegation and Rewards
    • Validators
      • Overview
      • TPU
      • TVU
      • Blockstore
      • Gossip Service
      • The Runtime
  • CLI
    • Command-line Guide
    • Install the PUT Tool Suite
    • Command-line Wallets
      • Command Line Wallets
      • Paper Wallet
      • File System Wallet
      • Support / Troubleshooting
    • Using PUT CLI
    • Connecting to a Cluster
    • Send and Receive Tokens
    • Staking
    • Deploy a Program
    • Offline Transaction Signing
    • Durable Transaction Nonces
    • CLI Usage Reference
  • Developers
    • Get Started
      • Hello World
      • Local development
      • Rust program
    • Core Concepts
      • Accounts
      • Transactions
        • Overview
        • Versioned Transactions
        • Address Lookup Tables
      • Programs
      • Rent
      • Calling between programs
      • Runtime
    • Clients
      • JSON RPC API -1
      • JSON RPC API -2
      • JSON RPC API -3
      • Web3 JavaScript API
      • Web3 API Reference
      • Rust API
    • Writing Programs
      • Overview
      • Developing with Rust
      • Deploying
      • Debugging
      • Program Examples
      • FAQ
    • Native Programs
      • Overview
      • Sysvar Cluster Data
    • Local Development
      • PUT Test Validator
    • Backward Compatibility Policy
  • Validators
    • Running a Validator
    • Getting Started
      • Validator Requirements
    • Voting Setup
      • Starting a Validator
      • Vote Account Management
      • Staking
      • Monitoring a Validator
      • Publishing Validator Info
      • Failover Setup
      • Troubleshooting
    • Geyser
      • Geyser Plugins
  • Staking
    • Staking on PUT
    • Stake Account Structure
  • Integrations
    • Add PUT to Your Exchange
    • Retrying Transactions
  • Library
    • Introduction
    • Token Program
    • Associated Token Account Program
    • Memo Program
    • Name Service
    • Feature Proposal Program
    • NFT Program
      • Overview
      • Interface
      • Usage Guidelines
        • Create a new NFT-Mint
        • Cast NFT
        • Transfer an NFT
        • Change account status
        • Permission settings
        • Query Interface
        • Continuous casting
        • Change the Mint attribute
      • Operation Overview
        • Create a new NFT-Mint
        • Transfer NFT
        • Destroy
        • Freeze NFT accounts
        • Update
    • PUT multi-sign program
      • Overview
      • Interface
      • Usage Guidelines
        • Create a multi-signature account
        • Create a proposal account
        • Vote proposal
        • Verify Proposal
        • Add-singer
        • Remove-signer
      • Operation Overview
        • Create a multi-signature account
        • Create a proposal account
        • Vote
        • Verify
        • Add-singer
        • Remove-signer
  • PUT Privacy Policy
Powered by GitBook
On this page
  • Local Development Quickstart
  • What you will learn
  • Install the PUT CLI
  • Setup a localhost blockchain cluster
  • Create a file system wallet
  • Airdrop PUT tokens to your wallet
  • Next steps
  1. Developers
  2. Get Started

Local development

Local Development Quickstart

This quickstart guide will demonstrate how to quickly install and setup your local development environment, getting you ready to start developing and deploying PUT programs to the blockchain.

What you will learn

  • How to install the PUT CLI locally

  • How to setup a localhost PUT cluster/validator

  • How to create a PUT wallet for developing

  • How to airdrop PUT tokens for your wallet

Install the PUT CLI

To interact with the PUT clusters from your terminal, install the PUT CLI tool suite on your local system:

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

Setup a localhost blockchain cluster

The PUT CLI comes with the test validator built in.

This command line tool will allow you to run a full blockchain cluster on your machine.

put-test-validator

PRO TIP: Run the PUT test validator in a new/separate terminal window that will remain open. The command line program must remain running for your localhost cluster to remain online and ready for action.

Configure your PUT CLI to use your localhost validator for all your future terminal commands:

put config set --url localhost

At any time, you can view your current PUT CLI configuration settings:

put config get

Create a file system wallet

To deploy a program with PUT CLI, you will need a PUT wallet with PUT tokens to pay for the cost of transactions.

Let's create a simple file system wallet for testing:

put-keygen new

By default, the put-keygen command will create a new file system wallet located at ~/.config/put/id.json. You can manually specify the output file location using the --outfile /path option.

NOTE: If you already have a file system wallet saved at the default location, this command will NOT override it (unless you explicitly force override using the --force flag).

Set your new wallet as default#

With your new file system wallet created, you must tell the PUT CLI to use this wallet to deploy and take ownership of your on chain program:

put config set -k ~/.config/put/id.json

Airdrop PUT tokens to your wallet

Once your new wallet is set as the default, you can request a free airdrop of PUT tokens to it:

put airdrop 2

NOTE: The put airdrop command has a limit of how many PUT tokens can be requested per airdrop for each cluster (localhost, testnet, or devent). If your airdrop transaction fails, lower your airdrop request quantity and try again.

You can check your current wallet's PUT balance any time:

put balance

Next steps

See the links below to learn more about writing Rust based PUT programs:

  • Create and deploy a PUT Rust program

  • Overview of writing PUT programs

PreviousHello WorldNextRust program

Last updated 2 years ago