Skip to Content
Libraries

Libraries

The Pulsar suite leverages several powerful, open-source libraries to deliver its core functionality. This document provides an overview of the key external dependencies used across the main packages.


pulsar-core

The core package for Pulsar is built on a foundation of efficient state management and immutability.

  • Zustand: A small, fast, and scalable state management solution that serves as the headless logic core for Pulsar’s transaction pool.
  • Immer: Used to work with immutable state in a more convenient way, making state updates straightforward and predictable.
  • Day.js: A minimalist JavaScript library for parsing, validating, manipulating, and displaying dates and times, used for handling transaction timestamps.

pulsar-evm

This package is dedicated to EVM-compatible blockchains and integrates with the most prominent libraries in that ecosystem.

  • Viem: A low-level TypeScript interface for Ethereum that handles RPC calls and transaction requests. Pulsar’s EVM tracker uses it for interacting with nodes.
  • wagmi/core: Provides wallet connection and hooks. Pulsar integrates with wagmi to listen for wallet and chain changes, automatically updating its state.

pulsar-solana

The Solana adapter package is built to work seamlessly with the Solana blockchain’s unique architecture.

  • Gill: A modern Solana SDK that provides a set of tools for building on-chain programs and interacting with the Solana RPC. It’s the primary utility for building and sending transactions.
  • @bonfida/spl-name-service: A utility for interacting with the Solana Name Service (SNS), used for name resolution.
  • @solana/web3.js: The official Solana SDK, used for specific functionalities within the SPL token handling.

This modular structure allows developers to include only the necessary packages, keeping their application bundle size small and focused.

Last updated on