JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q9395F
  • License ISC

Typescript SDK that allows clients to issue points for their users. This gives projects the ultimate flexibility to issue points for off-chain actions.

Package Exports

  • points-client-sdk
  • points-client-sdk/dist/index.cjs.js
  • points-client-sdk/dist/index.esm.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (points-client-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

PointsClient SDK

The PointsClient SDK provides a simple interface to interact with the points distribution system for your campaigns. This SDK allows you to distribute points to user addresses, and retrieve points information.

Table of Contents

Installation

Install the SDK using npm:

npm install points-client-sdk

Usage

Get API key

You can get your API key by calling the Absinthe API(/auth/api-key) with your campaign name and campaign ID.

Initialization

To use the PointsClient SDK, you need to initialize it with your configuration, including the API key and campaign ID.

import { PointsClient } from 'points-client-sdk';

const pointsClient = new PointsClient({
  apiKey: 'your-api-key',
  campaignId: 'your-campaign-id',
});

Distribute Points

Distribute points to a specific address for a given event.

pointsClient.distribute('eventName', {
  address: '0x1234567890abcdef1234567890abcdef12345678',
  points: 100,
})
  .then(() => {
    console.log('Points distributed successfully');
  })
  .catch((error) => {
    console.error('Error distributing points:', error);
  });

Get Points

Retrieve points for a specific address, optionally filtered by event name.

pointsClient.getPoints('0x1234567890abcdef1234567890abcdef12345678', 'eventName')
  .then((points) => {
    console.log('Points:', points);
  })
  .catch((error) => {
    console.error('Error getting points:', error);
  });

Types

PointsClientConfig

Configuration object for initializing the PointsClient.

interface PointsClientConfig {
  apiKey: string;
  campaignId: string;
}

PointsResponse

Response format for points data.

interface PointsResponse {
  event_name: string;
  address: string;
  points: number;
  timestamp: string;
}