The Core NFT CSV Airdrop Tool is designed to streamline the process of distributing NFTs to multiple recipients using a CSV file. This tool ensures that all data is validated and transactions are processed efficiently, providing robust logging and retry mechanisms to handle any issues that may arise.
- Uses Zod for Validation: Ensures that all input data conforms to expected formats, reducing errors during processing.
- Validates URI: Performs a GET request to confirm that the URI is accessible and valid, ensuring that metadata links are correct.
- Uses PapaParse for CSV Validation: Efficiently parses and validates CSV files, making it easy to manage large datasets.
- Asynchronous Processing of Transactions: Handles transaction confirmations asynchronously, improving performance and responsiveness.
- Robust Logs and Retrying Mechanisms: Provides detailed logs and automatically retries failed transactions, ensuring reliability and transparency.
- Fastest Experience: Transactions/creation of NFTs is done by batching and parallelism to ensure the fastest experience.
To get started with the Core NFT CSV Airdrop Tool, ensure you have the following installed:
- Node.js: Version 23.4.0 or higher is required. Use Node Version Manager (NVM) to install and manage Node.js versions.
- ts-node: Allows you to run TypeScript files directly. Follow this guide for installation and setup.
-
Clone the repository:
bash git clone <repository-url> cd <repository-directory> -
Install the dependencies:
bash npm install
To configure the Core NFT CSV Airdrop Tool, follow these steps:
-
Environment Variables: Create a
.envfile in the root directory and set the following variables:RPC_URL: Your preferred provider's RPC URL, such as Helius.PRIVATE_KEY: Your private key in Base58 encoded format (E.g: Phantom Wallet Format).
-
CSV File: Prepare a
data.csvfile with the following columns:address: The recipient's public key address.uri: The URI pointing to the NFT metadata.name: The name of the asset.
-
Run the Tool: Execute the main script to start processing:
bash npx ts-node index.ts
Ensure that your CSV file is correctly formatted and that all URIs are accessible. The tool will log any issues encountered during processing and attempt to retry failed transactions.