Solana Program Library (SPL)

repository·master·Indexed 26 days ago

https://github.com/solana-labs/solana-program-library

A collection of on-chain programs for the Sealevel parallel runtime, providing essential primitives such as token standards, staking, and account compression. Includes SDKs for account compression (Rust and TypeScript), binary options, and binary oracle pairs, as well as tools for managing SPL ConcurrentMerkleTrees.

Tokens
98.8K
Snippets
221
Records
539
Agent score
88%

What's inside solana-program-library

  1. Overview of the Name Service program

    master

    The Name Service is an SPL program designed for issuing and managing the ownership of various identifiers, including:

    • Domain names
    • Solana Pubkeys
    • URLs
    • Twitter handles
    • IPFS CIDs
    • Metadata

    It provides an interface and implementation that allows third parties to build and utilize their own custom versions of a name service.

  2. Overview of Single-Validator Stake Pool

    master

    The Single-Validator Stake Pool is an SPL program designed for trustless liquid staking. It allows for zero-fee liquid staking with no counterparty and 100% capital efficiency.

    Key features:

    • Defines a canonical pool for every vote account.
    • Pools can be initialized permissionlessly.
    • Mints tokens in exchange for stake delegated to a designated validator.
    • It is a stripped-down version of the multi-validator stake pool program, containing ~80% less code to minimize execution risk.
  3. Overview of the Token Lending program

    master

    The Token Lending program is a lending protocol for the Token program on the Solana blockchain, inspired by Aave and Compound. It allows for the creation of lending markets and the management of reserves.

    Resources:

  4. Overview of the SPL Name Service

    master

    The SPL Name Service is a program designed for issuing and managing ownership of various identifiers, including domain names, Solana Pubkeys, URLs, Twitter handles, and IPFS CIDs.

    Core Concepts:

    • Name: A string that maps to a Program Derived Account (PDA) containing data.
    • Class: A category for names. Each class has an authority (pubkey) that must sign for the issuance of names within that class.
    • Owner: The pubkey that owns the name.
    • Hierarchy: Names can have a parent name (identified by the parent's record address). Issuing a child name requires the signature of the parent name's owner.
    • Data Control: Data within a name registry is controlled by the class keypair. If the class is set to Pubkey::default(), the data is controlled by the name owner keypair.
    • Deletion: Only the owner can delete a name registry.
  5. Overview of SPL Account Compression Rust SDK

    master

    The spl-account-compression Rust SDK provides implementation details for account compression on Solana. This crate is specifically targeted towards supporting Metaplex Compressed NFTs and its implementation details may be subject to change.

    For more detailed information regarding account compression, refer to the main solana-program-library repo.

  6. Overview of Managed Token program

    master
    The Managed Token program handles 'managed tokens', which are SPL tokens that are perpetually frozen. To interact with these tokens, users must use this specific program to perform instructions. The program's workflow involves thawing the account, executing the requested instruction, and then re-freezing the account.