Glittr SDK

The glittr SDK is a client-side library written in Typescript designed to provide seamless access to the comprehensive Glittr infrastructure and ecosystem. It facilitates interaction with various glittr services by offering a simplified API that streamlines the integration process, allowing developers to efficiently leverage glittr's tools within their applications.

By utilizing this library, developers can build, manage, and deploy rich applications on Bitcoin using the cutting-edge Glittr infrastructure.

Prerequisites:

Installation with npm

npm install @glittr-sdk/sdk

Installation with yarn

yarn add @glittr-sdk/sdk

Usage

Init SDK

Javascript

const { GlittrSDK } = require("@glittr-sdk/sdk");

const NETWORK = "regtest";

const client = new GlittrSDK({
  network: NETWORK,
  electrumApi: "https://hackathon-electrum.glittr.fi",
  glittrApi: "https://hackathon-core-api.glittr.fi",
});
consoel.log(client)

Typescript/ES6

import { GlittrSDK } from "@glittr-sdk/sdk";

const NETWORK = "regtest";

const client = new GlittrSDK({
  network: NETWORK,
  electrumApi: "https://hackathon-electrum.glittr.fi",
  glittrApi: "https://hackathon-core-api.glittr.fi",
});
consoel.log(client)

Load Account

Import Bitcoin account using private key hex:

import { Account } from "@glittr-sdk/sdk";

const NETWORK = "regtest";

const account = new Account({
    privateKey: "your bitcoin private key",
    network: NETWORK
})

console.log(account.p2pkh())
console.log(account.p2wpkh())

Or using WIF (Wallet Import Format) text

import { Account } from "@glittr-sdk/sdk";

const NETWORK = "regtest";

const account = new Account({
    wif: "your WIF text",
    network: NETWORK
})

console.log(account.p2pkh())
console.log(account.p2wpkh())

Construct Glittr Transaction

import { txBuilder } from "@glittr-sdk/sdk";

const c = txBuilder.freeMintContractInstantiate({
  simple_asset: {
    supply_cap: 2000n.toString(),
    divisibility: 18,
    live_time: 0,
  },
  amount_per_mint: 2n.toString(),
});

console.log(c)

Example Create and Send Glittr Transaction

Freemint Contract Creation

import { Account, GlittrSDK, txBuilder } from "@glittr-sdk/sdk";

async function main() {
  const NETWORK = "regtest";

  const client = new GlittrSDK({
    network: NETWORK,
    electrumApi: "https://hackathon-electrum.glittr.fi",
    glittrApi: "https://hackathon-core-api.glittr.fi",
  });
  const account = new Account({
    wif: "your WIF text",
    network: NETWORK,
  });

  const c = txBuilder.freeMintContractInstantiate({
    simple_asset: {
      supply_cap: 2000n.toString(),
      divisibility: 18,
      live_time: 0,
    },
    amount_per_mint: 2n.toString(),
  });

  const txid = await client.createAndBroadcastTx({
    account: account.p2pkh(),
    tx: c,
    outputs: []
  });
  
  console.log("TXID : ", txid);
}

main();

Last updated