@pokedev/sdk
v1.0.0
Published
TypeScript SDK for validating and generating compliance-ready Pokémon ERC-721 token metadata
Maintainers
Readme
@pokedev/sdk
TypeScript SDK for validating and generating compliance-ready Pokémon ERC-721 token metadata.
Installation
npm install @pokedev/sdkOr for local development:
npm install ./pokedev-sdkFeatures
- Metadata Schema Validation: Ensure your metadata complies with OpenSea standard attributes.
- Pokédev Standards Check: Validates required traits (Species, Type, Rarity, Level, Stats) and checks boundary values.
- Fluent Metadata Builder: Easily generate compliant JSON objects with typings using the builder pattern.
Usage
1. Schema Metadata Validation
import { validateMetadata } from '@pokedev/sdk';
const metadata = {
name: "Voltbeat #904",
description: "A bug-type firefly Pokémon wreathed in electric tail-light glow.",
image: "ipfs://QmVoltbeatGenesisSlabImageHash",
attributes: [
{ trait_type: "Species", value: "Voltbeat" },
{ trait_type: "Type", value: "Thunder" },
{ trait_type: "Rarity", value: "Epic" },
{ trait_type: "Level", value: 12 },
{ trait_type: "XP", value: 450 },
{ trait_type: "Attack", value: 92 },
{ trait_type: "Defense", value: 50 },
{ trait_type: "Speed", value: 115 },
{ trait_type: "Intelligence", value: 98 }
]
};
const result = validateMetadata(metadata);
if (result.isValid) {
console.log("Metadata is compliant!");
} else {
console.error("Compliance Issues:", result.issues);
}2. Programmatically Generate Metadata
import { PokémonMetadataBuilder } from '@pokedev/sdk';
const metadata = new PokémonMetadataBuilder()
.setName("Emberfang #119")
.setDescription("A fiery dragon-canid that specializes in rapid flame bursts.")
.setImage("ipfs://QmEmberfangGenesisSlabHash")
.setBaseStats("Emberfang", "Flame", "Rare")
.setStats(85, 62, 90, 75) // ATK, DEF, SPD, INT
.build();