Umi JavaScript Framework for Solana
repository·main·Indexed 42 days ago
https://github.com/metaplex-foundation/umiA modular JavaScript framework for interacting with Solana programs. Umi provides a decoupled architecture with a zero-dependency core and standard interfaces, allowing developers to build customizable Solana clients by swapping implementations for RPC, signing, and storage. Version 1.6.0.
What's inside Umi
- Umi is a modular framework designed for building and using JavaScript clients for Solana programs. It follows a decoupled architecture where a zero-dependency core library defines standard interfaces, allowing developers to choose their own implementations for specific tasks (like RPC connection, signing, or storage) or use the provided default implementations and bundles to get started quickly.
Overview of umi
mainumi is a Solana framework designed for building JavaScript clients. It provides the foundational tools and abstractions needed to interact with the Solana blockchain, specifically optimized for the Metaplex ecosystem.How umi-rpc-chunk-get-accounts works
mainTheumi-rpc-chunk-get-accountspackage provides an RPC decorator designed to optimizegetAccountsrequests. It automatically chunks large requests into smaller batches of a defined size and runs these batches in parallel, which can help manage RPC limits and improve performance when fetching many accounts.How umi-kit-adapters works
mainTheumi-kit-adapterspackage provides utility functions to transform types between@solana/kitandumi. This allows developers to bridge the gap between different Solana SDK ecosystems, ensuring that data structures used in@solana/kitcan be seamlessly used withinumiworkflows and vice versa.Install @metaplex-foundation/umi-uploader-irys
mainTo use the Irys uploader implementation with Umi, install the package via npm:
npm install @metaplex-foundation/umi-uploader-irysInstall @metaplex-foundation/umi-serializers-encodings
mainInstall the
@metaplex-foundation/umi-serializers-encodingspackage to access serializers used for encoding and decoding strings within the Umi ecosystem.npm install @metaplex-foundation/umi-serializers-encodingsInstall @metaplex-foundation/umi-serializers-numbers
mainInstall the
umi-serializers-numberspackage via npm to use its number serializers within your Umi project.npm install @metaplex-foundation/umi-serializers-numbersInstall @metaplex-foundation/umi-uploader-cascade via npm
mainTo use the Cascade Protocol uploader implementation with Umi, install the package using npm.
npm install @metaplex-foundation/umi-uploader-cascadeInstall @metaplex-foundation/umi-serializers
mainTo use the Umi serializers in your project, install the
@metaplex-foundation/umi-serializerspackage via npm.npm install @metaplex-foundation/umi-serializersInstall @metaplex-foundation/umi-http-fetch
mainInstall the
umi-http-fetchpackage via npm to use its HTTP implementation, which relies on the standard Fetch API.npm install @metaplex-foundation/umi-http-fetchInstall umi-uploader-arweave-via-turbo
mainInstall the
@metaplex-foundation/umi-uploader-arweave-via-turbopackage via npm to use the Arweave uploader implementation that leverages the Turbo SDK and AR.IO bundling infrastructure for seamless uploads.npm install @metaplex-foundation/umi-uploader-arweave-via-turboInstall @metaplex-foundation/umi-downloader-http
mainTo use the HTTP-based downloader implementation in your Umi project, install the package via npm.
npm install @metaplex-foundation/umi-downloader-http