Everything you need to interact with the Algorand blockchain, all bundled together to make your life easier. All modules are optional, so you make your own compiled stack as small as possible.
- 📦 What's in there
 - ⚡ Getting Started
 - 🔐 Connecting a wallet
 - 📡 Sending transactions
 - 📚 Reading blockchain data
 - ❌ Common issues
 
First, import the main package, and all modules you need. Then initiate your AlgoStack with the desired options and modules.
const algostack = new AlgoStack(options: OptionsProps, modules: PlugableModules)Example:
import AlgoStack from 'algostack';
import Client from 'algostack/client';
import Query from 'algostack/query';
import Txns from 'algostack/txns';
const algostack = new AlgoStack(
  {
    apiUrl: 'https://testnet-api.4160.nodely.dev',
    indexerUrl: 'https://testnet-idx.4160.nodely.dev',
  },
  { Client, Txns, Query },
);interface OptionsProps {
  // Indexer and Node urls used to interact with the blockchain
  indexerUrl?: string; // default: 'https://mainnet-idx.4160.nodely.dev'
  apiUrl?: string; // default: 'https://mainnet-api.4160.nodely.dev'
  apiPort?: number;
  apiToken?: string;
  // Persist wallet connections, even after refreshing
  // Only available in browsers
  persistConnection?: boolean; // default: true,
  storageNamespace?: string; // default: 'algostack',
}interface PlugableModules {
  // Connect to Algorand using popular wallets
  // Currently available: MyAglo, Pera Wallet
  Client?: ClientModule;
  // Create, sign, send transactions and wait for confirmation
  Txns?: TxnsModule;
  // Get data from the blockchain
  // Currently using the indexers only
  Query?: QueryModule;
}