{"id":28049173,"url":"https://github.com/tokenizedev/tknzv1","last_synced_at":"2025-05-11T23:06:08.028Z","repository":{"id":290868791,"uuid":"933029613","full_name":"tokenizedev/tknzv1","owner":"tokenizedev","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-11T16:26:03.000Z","size":3499,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-11T23:06:04.432Z","etag":null,"topics":["crypto","cryptocurrency","extension-chrome","memecoin","pumpdotfun"],"latest_commit_sha":null,"homepage":"https://tknz.fun","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tokenizedev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-15T01:29:04.000Z","updated_at":"2025-05-10T12:46:58.000Z","dependencies_parsed_at":"2025-05-01T23:30:32.105Z","dependency_job_id":null,"html_url":"https://github.com/tokenizedev/tknzv1","commit_stats":null,"previous_names":["tokenizedev/tknzv1"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tokenizedev%2Ftknzv1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tokenizedev%2Ftknzv1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tokenizedev%2Ftknzv1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tokenizedev%2Ftknzv1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tokenizedev","download_url":"https://codeload.github.com/tokenizedev/tknzv1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253645580,"owners_count":21941330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crypto","cryptocurrency","extension-chrome","memecoin","pumpdotfun"],"created_at":"2025-05-11T23:06:07.614Z","updated_at":"2025-05-11T23:06:08.012Z","avatar_url":"https://github.com/tokenizedev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"TKNZ Logo\" width=\"200\" /\u003e\n\u003c/div\u003e\n\n[![CI](https://github.com/tokenizedev/tknzv1/actions/workflows/ci.yml/badge.svg)](https://github.com/tokenizedev/tknzv1/actions/workflows/ci.yml)\n\n # TKNZ (Tokenize) Chrome Extension\n\n TKNZ (pronounced \"tokenize\") is a Chrome extension that lets you create meme coins on Pump.fun directly from news articles and tweets. It provides a simple UI to manage a Solana wallet, extract article or tweet data (title, image, description) and generate token metadata, then launch tokens with a specified investment amount.\n\n ## Table of Contents\n - [Goals](#goals)\n - [Features](#features)\n - [Getting Started](#getting-started)\n   - [Prerequisites](#prerequisites)\n   - [Installation](#installation)\n   - [Environment Variables](#environment-variables)\n - [Development](#development)\n - [Build \u0026 Packaging](#build--packaging)\n - [Chrome Extension Installation](#chrome-extension-installation)\n - [Scripts](#scripts)\n - [Directory Structure](#directory-structure)\n - [Architecture](#architecture)\n - [Contributing](#contributing)\n - [Roadmap](#roadmap)\n - [License](#license)\n\n ## Goals\n - Simplify the workflow for launching meme coins based on article or tweet content.\n - Abstract the complexity of Solana SPL token creation and metadata hosting.\n - Provide real-time SOL and token balance updates.\n - Integrate with Pump.fun for token creation and pools.\n - Track key events (balance updates, token launches) via Firebase (optional).\n - Support modern web apps and dynamic content (e.g., SPAs, Twitter/X posts).\n\n ## Features\n\n TKNZ offers a comprehensive suite of features for creating and managing meme coins:\n\n ### Content Tokenization\n - **Isolated Tokenization** — Select specific sections of a webpage to tokenize, allowing you to precisely target the content that matters most for your token creation.\n - **Custom Token Image Uploads** — Upload your own images for token creation instead of relying solely on extracted content, giving you more control over token branding.\n - **Custom AI Prompts** — Fine-tune the AI token generation process with personalized prompts to create tokens that better reflect your vision.\n\n ### User Experience\n - **Pin Extension** — Lock TKNZ on-screen as a sidebar for rapid token launches while browsing, eliminating the need to switch between windows or tabs.\n - **Automatic Wallet Provisioning** — Get started immediately with automatically created Solana wallets, removing barriers to entry for new users.\n\n ### Community \u0026 Engagement\n - **Token Leaderboard** — Track top token launches in real-time to see which coins are gaining momentum in the community.\n - **\"Coin Create\" Contest** — Participate in community challenges that incentivize creative and innovative token launches.\n\n ### Developer Tools\n - **Leaderboard API** — Access token performance data programmatically through our API, enabling integration with external tools and services.\n\n ### User Education\n - **Explainer Video** — Watch comprehensive tutorials on our main website to quickly understand how to use all TKNZ features effectively.\n\n ### Core Functionality\n - Extract title, image, and description from articles and tweets\n - Generate token metadata via an AI-powered Creation API\n - Host metadata on IPFS through Pump.fun\n - Create and fund Solana SPL tokens with configurable investment amounts\n - View and refresh SOL and token balances\n - Version checking and update prompts\n\n ## Getting Started\n\n ### Prerequisites\n - Node.js \u003e= 16.x\n - npm (\u003e= 8.x) or yarn\n - Chrome or any Chromium-based browser\n\n ### Installation\n 1. Clone the repository:\n    ```bash\n    git clone https://github.com/tokenizedev/tknzv1.git\n    cd tknzv1\n    ```\n 2. Install dependencies:\n    ```bash\n    npm install\n    # or\n    yarn install\n    ```\n 3. Generate a private key for packaging (one-time):\n    ```bash\n    npm run keygen\n    ```\n    This creates `extension.pem` used by CRXJS for signing.\n\n ### Environment Variables\n Create a `.env` file in the project root with the following:\n ```ini\n VITE_FIREBASE_API_KEY=\u003cYour Firebase Web API Key\u003e\n ```\n Optionally override the app version:\n ```ini\n VITE_APP_VERSION=0.2.3\n ```\n \n # Affiliate (Referral) Fee Configuration\n The extension can include an affiliate referral fee on Jupiter Ultra swaps. Configure:\n ```ini\n # Your affiliate/referral Solana wallet public key\n VITE_AFFILIATE_WALLET=\u003cYour referral wallet address\u003e\n # (Optional) Referral fee in basis points (bps), default is 50\n VITE_AFFILIATE_FEE_BPS=50\n ```\n\n ## Development\n Start the Vite development server:\n ```bash\n npm run dev\n ```\n Load the extension as an unpacked extension:\n 1. Navigate to `chrome://extensions/`.\n 2. Enable **Developer mode**.\n 3. Click **Load unpacked** and select the project root.\n 4. Click the TKNZ icon in the toolbar to open the popup.\n\n ## Build \u0026 Packaging\n Build for production:\n ```bash\n npm run build\n ```\n Package into a CRX file:\n ```bash\n npm run package\n ```\n Release (bump version, build, package):\n ```bash\n npm run release\n ```\n The generated `.crx` file will be in the project root.\n\n ## Chrome Extension Installation\n To install the packaged CRX:\n 1. Drag and drop the `.crx` file into `chrome://extensions/`.\n 2. Confirm installation.\n Alternatively, load the `dist/` folder as an unpacked extension.\n\n ## Scripts\n - `npm run dev`         — Start development server with HMR.\n - `npm run build`       — Build extension (includes TypeScript compile).\n - `npm run build:crx`   — Alias for build.\n - `npm run lint`        — Run ESLint.\n - `npm run preview`     — Preview the build locally.\n - `npm run bump`        — Bump version and create Git tag.\n - `npm run keygen`      — Generate `extension.pem` for packaging.\n - `npm run package`     — Package into CRX.\n - `npm run release`     — Build, bump version, and package.\n - `npm run test`        — Run unit tests in watch mode.\n - `npm run test:ci`     — Run tests once with coverage.\n\n ## Directory Structure\n ```\n .\n ├── public/                # Static assets (icons, images)\n ├── src/                   # Extension source code\n │   ├── background.ts      # Background service worker\n │   ├── contentScript.tsx  # Content script for data extraction\n │   ├── firebase.ts        # Firebase analytics\n │   ├── App.tsx            # React popup UI\n │   ├── main.tsx           # React entry point\n │   ├── store.ts           # Zustand store (wallet \u0026 token logic)\n │   ├── components/        # React components (WalletSetup, CoinCreator, etc.)\n │   └── config/            # Configuration (version, etc.)\n ├── scripts/               # Helper scripts (keygen, postbuild)\n ├── manifest.json          # Chrome extension manifest (MV3)\n ├── package.json           # npm scripts \u0026 dependencies\n ├── vite.config.ts         # Vite + CRXJS config\n ├── tsconfig.json\n └── README.md              # \u003c-- You are here\n ```\n  \n ## Architecture\n \n ```mermaid\n graph LR\n   subgraph \"Chrome Extension\"\n     CS[\"Content Script\"]\n     BG[\"Background Service Worker\"]\n     UI[\"React Popup UI\"]\n     Store[\"Zustand Store\"]\n   end\n\n   subgraph \"External Services\"\n     AI[\"Token Creation API\"]\n     PumpFun[\"Pump.fun API \u0026 IPFS\"]\n     Solana[\"Solana Blockchain\"]\n     Firebase[\"Firebase Analytics\"]\n   end\n\n   CS --\u003e|Extract content| BG\n   UI --\u003e|User actions| BG\n   BG --\u003e|State updates| Store\n   BG --\u003e|Generate metadata| AI\n   BG --\u003e|Upload metadata| PumpFun\n   BG --\u003e|Create \u0026 fund tokens| Solana\n   BG --\u003e|Log events| Firebase\n   Store --\u003e|State| UI\n ```\n\n ## Contributing\n Contributions welcome! Please fork the repo and submit a pull request:\n 1. Fork the repo.\n 2. Create a feature branch: `git checkout -b feature/YourFeature`.\n 3. Commit your changes: `git commit -m 'feat: add amazing feature'`.\n 4. Push to your branch: `git push origin feature/YourFeature`.\n 5. Open a pull request.\n Ensure code is linted and builds cleanly.\n\n ## Roadmap\n ```javascript\n /* TKNZ Roadmap Implementation */\n\n#include \u003cprogress.h\u003e\n#include \u003cfeatures.h\u003e\n#define VERSION 0.5.1\n\n/*==========================================================*\\\n|  ████████╗██╗  ██╗███╗   ██╗███████╗                      |\n|  ╚══██╔══╝██║ ██╔╝████╗  ██║╚══███╔╝                      |\n|     ██║   █████╔╝ ██╔██╗ ██║  ███╔╝                       |\n|     ██║   ██╔═██╗ ██║╚██╗██║ ███╔╝                        |\n|     ██║   ██║  ██╗██║ ╚████║███████╗                      |\n|     ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═══╝╚══════╝                      |\n\\*==========================================================*/\n\nclass RoadmapFeature {\n  constructor(name, status, description) {\n    this.name = name;\n    this.status = status; // COMPLETED or PENDING\n    this.description = description;\n  }\n}\n\nfunction initRoadmap() {\n  return new Promise(async (resolve) =\u003e {\n    \n    // Core Features ✓ \n    await implement(\"PIN_EXTENSION\"); // Sidebar for rapid token launches\n    await implement(\"TOKEN_LEADERBOARD\"); // Track launches in real time\n    await implement(\"ISOLATED_TOKENIZATION\"); // Select specific page sections\n    await implement(\"CUSTOM_AI_PROMPTS\"); // Personalized token generation\n    await implement(\"CUSTOM_TOKEN_IMAGES\"); // Upload custom images\n    \n    // Developer \u0026 Education ✓\n    await implement(\"LEADERBOARD_API\"); // Programmatic data access\n    await implement(\"EXPLAINER_VIDEO\"); // Tutorial content\n    await implement(\"AUTO_WALLET_PROVISIONING\"); // Easy onboarding\n    await implement(\"COIN_CREATE_CONTEST\"); // Community engagement\n    await implement(\"METRICS_DASHBOARD\"); // Usage analytics\n    \n    // In Progress □ \n    if (await getFunds(\"treasury\")) {\n      implement(\"NEW_FEE_STRUCTURE\"); // 3.3% to treasury\n      console.log(\"Fee structure: 60% complete\");\n    }\n    \n    try {\n      implement(\"WALLET_UPGRADES\"); // Send, swap, and manage assets\n      console.log(\"Wallet upgrades: 20% complete\");\n    } catch (e) {\n      console.log(\"Development in progress...\");\n    }\n    \n    // Summary\n    console.log(\"Total completed features: 10/12\");\n    \n    resolve(\"Roadmap initialized with v\" + VERSION);\n  });\n}\n\n/*----------------------------------------------------------*\\\n|                                                            |\n|  // COMPLETED:                                             |\n|  ✓ PIN_EXTENSION                                           |\n|  ✓ TOKEN_LEADERBOARD                                       |\n|  ✓ ISOLATED_TOKENIZATION                                   |\n|  ✓ CUSTOM_AI_PROMPTS                                       |\n|  ✓ LEADERBOARD_API                                         |\n|  ✓ CUSTOM_TOKEN_IMAGES                                     |\n|  ✓ EXPLAINER_VIDEO                                         |\n|  ✓ AUTO_WALLET_PROVISIONING                                |\n|                                                            |\n|  // PENDING:                                               |\n|  □ NEW_FEE_STRUCTURE                                       |\n|  □ WALLET_UPGRADES                                         |\n|                                                            |\n\\*----------------------------------------------------------*/\n\n// Start deployment\ninitRoadmap().then(status =\u003e {\n  console.log(`TKNZ roadmap deployment: ${status}`);\n});\n ```\n The project's roadmap is available [here](roadmap-05-01-2025.md).\n\n ## License\nThis repository is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).\nFree for personal and non-profit use. Commercial use requires a paid license.\nPlease see the LICENSE file for details.\nTo obtain a commercial license or for licensing inquiries, please open an issue or contact the repository owner.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftokenizedev%2Ftknzv1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftokenizedev%2Ftknzv1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftokenizedev%2Ftknzv1/lists"}