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.