NMKR Studio is a comprehensive platform for Cardano NFT management, built with C# and .NET 8.0. The project provides a complete solution for minting, burning, and managing NFTs on the Cardano blockchain.
The NMKR Studio project consists of the following components:
-
NMKR.Pro
The main NMKR Studio user interface built with Blazor, providing an intuitive web-based interface for managing NFT operations. -
NMKR.Api
Contains all API functions and endpoints for interacting with the NMKR Studio platform. -
NMKR.BackgroundService
Handles all background processing tasks including minting, burning, and other long-running operations. -
NMKR.CardanoCliApi
A separate API that encapsulates the Cardano CLI functionality, providing a clean interface for blockchain interactions.
-
NMKR.Shared
Contains shared classes, utilities, and the database structure used across all projects. This is the central location for common functionality and data models. -
NMKR.RazorSharedClassLibrary
A shared library specifically for Blazor components, currently used by NMKR.Pro.
Before running NMKR Studio, ensure you have the following services and accounts set up:
- MySQL Server - For database operations
- RabbitMQ Server - For message queuing
- Redis Server - For caching and session management
- Blockfrost Account - Cardano blockchain data provider
- Koios Account - Cardano blockchain API service
- Maestro Account - Cardano blockchain infrastructure
- AWS Account - For email services (AWS SES or similar)
- .NET 8.0 SDK
- MySQL client
- Access to the required external services listed above
The database structure is provided in the root directory:
mysql -u your_username -p your_database < defaultdb.sqlConfiguration files are located in the root directory and must be populated with your own credentials and settings:
settings.yaml- Main configuration file for productionsettings.preprod.yaml- Configuration file for pre-production environment
Important: Update these files with your actual service credentials, API keys, and connection strings before running the application.
Ensure the following settings are configured in your settings.yaml file:
- MySQL connection string
- RabbitMQ connection details
- Redis connection details
- Blockfrost API key
- Koios API endpoint and credentials
- Maestro API key
- AWS email service credentials
- Cardano network settings (mainnet/testnet/preprod)
# Restore dependencies
dotnet restore
# Build the solution
dotnet build
# Run NMKR.Pro (main interface)
cd NMKR.Pro
dotnet run
# Run background services (in a separate terminal)
cd NMKR.BackgroundService
dotnet run
# Run API services (in a separate terminal)
cd NMKR.Api
dotnet run
# Run Cardano CLI API (in a separate terminal)
cd NMKR.CardanoCliApi
dotnet run- Framework: .NET 8.0
- Language: C#
- Frontend: Blazor
- Database: MySQL
- Message Queue: RabbitMQ
- Cache: Redis
- Blockchain: Cardano
Each component has specific dependencies on shared libraries:
- NMKR.Pro → NMKR.Shared, NMKR.RazorSharedClassLibrary
- NMKR.Api → NMKR.Shared
- NMKR.BackgroundService → NMKR.Shared
- NMKR.CardanoCliApi → NMKR.Shared
- Never commit
settings.yamlorsettings.preprod.yamlfiles with actual credentials to version control - Keep all API keys and secrets secure
- Ensure database credentials are stored securely
- Use environment-specific configuration files for different deployment environments
For more information about NMKR Studio features and usage, please refer to the official documentation or contact the development team.
Licensed under the MIT License. See LICENSE for details.
We welcome contributions. The common approach is:
- Fork the repository and create a feature branch
- Make focused changes following the existing code style
- Ensure builds succeed and add tests where applicable
- Open a pull request with a clear description of the changes
For contact and support, visit NMKR Support.