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.