Skip to main content

Peppermint SDK

Introducción

El Peppermint SDK es una biblioteca de cliente diseñada para interactuar con la API de Peppermint. Permite realizar diversas operaciones relacionadas con blockchain, contratos y transacciones de forma sencilla y eficiente.

Uso del SDK

Para utilizar el SDK, primero debes crear una instancia de PeppermintClient, proporcionando tu clave API y clave secreta. A continuación, podrás realizar solicitudes a diferentes endpoints de la API de Peppermint, como la obtención de blockchains, contratos, transacciones y más.

Ejemplo de Inicialización

import { PeppermintClient } from "@dekalabs/peppermint-js-sdk"

const client = new PeppermintClient("yourApiKey", "yourSecretKey")

Ejemplo de Obtención de Blockchains

const blockchains = await client.blockchains()
console.log(blockchains)

Características

  • Interacción con múltiples blockchains: Obtiene información sobre diferentes blockchains soportadas.
  • Gestión de contratos: Crea, despliega y lee contratos en la blockchain.
  • Operaciones de transacciones: Envía y consulta transacciones a través de la API.
  • Facilidad de uso: Integra la API de Peppermint de manera sencilla mediante un diseño orientado a objetos.

Métodos del SDK

A continuación se presentan los métodos disponibles en el SDK de Peppermint:

  • blockchains(limit: number, offset: number)
    Obtiene una lista de blockchains disponibles.

  • contracts(limit: number, offset: number)
    Obtiene una lista de contratos.

  • contract(id: string)
    Obtiene los detalles de un contrato específico.

  • contractDeploy<T extends ContractTemplate>(contractData: ContractCreate<T>)
    Despliega un nuevo contrato.

  • contractRead<T extends ContractTemplate>(id: string, functionData: ContractFunctionRead<T>)
    Lee la función de un contrato existente.

  • contractWrite<T extends ContractTemplate>(id: string, functionData: ContractFunctionWrite<T>)
    Escribe en un contrato existente.

  • templates(limit: number, offset: number)
    Obtiene una lista de plantillas.

  • template(name: string)
    Obtiene los detalles de una plantilla específica.

  • transactions(limit: number, offset: number)
    Obtiene una lista de transacciones.

  • transaction(id: string)
    Obtiene los detalles de una transacción específica.

  • vaultCreate(name: string)
    Crea un nuevo vault.

  • vaults(limit: number, offset: number)
    Obtiene una lista de vaults.

  • vault(id: string)
    Obtiene los detalles de un vault específico.

Recetas disponibles

  • createWallet(walletData: Pick<Contract, 'name' | 'blockchainId' | 'vaultId'>)
    Crea una nueva wallet.

  • transferERC20(contractId: string, tokenAddress: string, to: string, amount: string)
    Realiza una transferencia de tokens ERC20.

  • transferERC721(contractId: string, tokenAddress: string, to: string, amount: string)
    Realiza una transferencia de tokens ERC721.

  • transferERC1155(contractId: string, tokenAddress: string, to: string, amount: string)
    Realiza una transferencia de tokens ERC1155.

  • tokenCreate(type: string, blockchainId: number, vaultId: string, tokenData: { name: string, symbol: string, decimals: number })
    Crea un nuevo token.

  • tokenMint(contractId: string, to: string, amount: string)
    Realiza una operación de minting para un token.

  • tokenBurn(contractId: string, from: string, amount: string)
    Realiza una operación de burning para un token.

  • nftCreate(type: TemplateName, blockchainId: number, vaultId: string, nftData: { name: string, symbol: string })
    Crea un nuevo NFT.

  • nft721Mint(contractId: string, to: string, media: string, name: string, description: string, extraMetadata: Record<string, unknown>)
    Realiza una operación de minting para un NFT ERC721.

  • nft1155CollectionCreate(contractId: string, tokenId: string, media: string, name: string, description: string, extraMetadata: Record<string, unknown>)
    Crea una nueva colección de NFTs ERC-1155.

  • nft1155CollectionUpdate(contractId: string, tokenId: string, media: string, name: string, description: string, extraMetadata: Record<string, unknown>)
    Actualiza una colección existente de NFTs ERC-1155.

  • nft1155CollectionLock(contractId: string, tokenId: string)
    Bloquea una colección de NFTs ERC-1155, impidiendo futuros cambios.

  • nft1155CollectionMint(contractId: string, to: string, tokenId: string, amount: string)
    Mint (crea) nuevos tokens dentro de una colección ERC-1155 existente.

Puedes encontrar más información y la documentación completa del SDK en Dekalabs/peppermint-js-sdk.