/algostack

Everything you need to interact with the Algorand blockchain using Javascript.

Primary LanguageTypeScript

AlgoStack.js

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.

Table of Contents

📦 What's in the stack?

⚡ Getting Started

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 Txns from 'algostack/txns';
import Query from 'algostack/query';

const algostack = new AlgoStack(
  {
    apiUrl: 'https://testnet-api.algonode.cloud',
    indexerUrl: 'https://testnet-idx.algonode.cloud', 
  }, 
  { Client, Txns, Query }
);

⚙️ Options

interface OptionsProps {
  // Indexer and Node urls used to interact with the blockchain
  indexerUrl?: string, // default: 'https://mainnet-idx.algonode.cloud'
  apiUrl?: string, // default: 'https://mainnet-api.algonode.cloud'
  apiPort?: number,
  apiToken?: string,
  

  // Persist wallet connections, even after refreshing
  // Only available in browsers
  persistConnection?: boolean // default: true,
  storageNamespace?: string // default: 'algostack',
}

🔌 Plugable Modules

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,
}