Skip to content

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

Notifications You must be signed in to change notification settings

AlgoNode/algostack

Repository files navigation

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

⚙️ Options

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

🔌 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;
}

About

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

Topics

Resources

Stars

Watchers

Forks