npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

game-pass-sdk

v1.1.0

Published

GamePassSDK GamePassSDK is a comprehensive toolkit for integrating game-related functionality on the Solana blockchain. It provides an easy-to-use interface for managing games, user accounts, badges, and leaderboards etc.

Downloads

83

Readme

GamePassSDK GamePassSDK is a comprehensive toolkit for integrating game-related functionality on the Solana blockchain. It provides an easy-to-use interface for managing games, user accounts, badges, and leaderboards etc.

Table of Contents

Installation Getting Started Usage

Initializing the SDK Game Management User Management Badge System Leaderboard

API Reference Error Handling Examples Contributing License

Installation Install GamePassSDK using npm: bash

npm install game-pass-sdk

Getting Started To use GamePassSDK, you'll need:

A Solana wallet (keypair) Access to a Solana network (mainnet, testnet, or devnet)

Usage Initializing the SDK First, import and initialize the SDK: javascript

import { GamePassSDK } from "game-pass-sdk";
import { Keypair } from "@solana/web3.js";

// Assume you have a function to get your game's keypair
const gameKeyPair = await getGameKeyPair();

const sdk = new GamePassSDK(gameKeyPair);

Game Management Initialize a new game: javascript

const gameName = "My Awesome Game";
const gameAvatar = "https://example.com/game-avatar.png";

const result = await sdk.initializeGame(gameName, gameAvatar);
console.log("Game initialized:", result.transactionSignature);

User Management Create a user game account: javascript

import { PublicKey } from "@solana/web3.js";

const gameId = new PublicKey("your-game-id");
const userAvatar = "https://example.com/user-avatar.png";
const gamerPublicKey = new PublicKey("gamer-public-key");

const tx = await sdk.getSerializedInitializeUserGameAccountTransaction(gameId, userAvatar, gamerPublicKey);
// Send this transaction to be signed by the user and submitted to the network

Update user level or score: javascript

const newLevel = 5;
const userGameAcctPublicKey = new PublicKey("user-game-account");

await sdk.updateUserLevel(newLevel, userGameAcctPublicKey);

Badge System Create a badge: javascript

const badgeName = "Master Coder";
const badgeDescription = "Awarded for writing 1000 lines of code";
const badgeImageUri = "https://example.com/badge-image.png";
const criteria = "Write 1000 lines of code";

await sdk.createBadge(gameId, badgeMintAddress, badgeName, badgeDescription, badgeImageUri, criteria);

Leaderboard Update the leaderboard: javascript

const leaderboardAddress = new PublicKey("leaderboard-address");

await sdk.updateLeaderboard(gameId, leaderboardAddress, userGameAcctPublicKey);

API Reference For a full list of methods and their parameters, please refer to the API documentation. Error Handling GamePassSDK methods throw errors when operations fail. Always wrap SDK calls in try-catch blocks: javascript

try {
    await sdk.initializeGame(gameName, gameAvatar);
} catch (error) {
    console.error("Failed to initialize game:", error);
}

Examples For more examples, check out the examples directory in the GitHub repository. Contributing We welcome contributions! Please see our Contributing Guide for more details. License GamePassSDK is released under the MIT License.