Latest Threat ResearchGlassWorm Loader Hits Open VSX via Developer Account Compromise.Details
Socket
Book a DemoInstallSign in
Socket

create-dynamic-app

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

create-dynamic-app

CLI tool to generate sample applications using Dynamic's web3 authentication

Source
npmnpm
Version
2.1.0
Version published
Weekly downloads
30
3.45%
Maintainers
1
Weekly downloads
 
Created
Source

Create Dynamic App

Dynamic Logo

A powerful CLI tool to generate starter applications with Dynamic's web3 authentication. Quickly bootstrap projects using your preferred frameworks, libraries, and blockchain networks.

Table of Contents

Installation

You can use Create Dynamic App directly with npx:

npx create-dynamic-app my-project-name

Or install it globally:

npm install -g create-dynamic-app
create-dynamic-app my-project-name

Quick Start

# Create a new project with interactive prompts
npx create-dynamic-app my-web3-app

# Follow the prompts to select:
# 1. Framework (Next.js, React, React Native)
# 2. Blockchain chains to support
# 3. Library preferences (Viem/Ethers, Wagmi)

Features

  • Multiple Framework Support: Generate applications using Next.js, React, or React Native
  • Blockchain Flexibility: Choose from 7 different blockchain networks to include
  • Library Options: Select your preferred Ethereum libraries (Viem or Ethers.js)
  • Wagmi Integration: Optional Wagmi support for enhanced React hooks
  • Ready-to-use Components: Includes auth components and chain-specific utility methods
  • Dark/Light Mode: Built-in theme support that respects system preferences

Supported Chains

The CLI supports the following blockchain networks:

ChainPackageFeatures
Ethereum@dynamic-labs/ethereumFull wallet connection, signing, transactions
Solana@dynamic-labs/solanaWallet connection, signing, program interactions
Flow@dynamic-labs/flowWallet integration and authentication
Starknet@dynamic-labs/starknetLayer 2 integration and account management
Algorand@dynamic-labs/algorandWallet connection and transaction signing
Cosmos@dynamic-labs/cosmosMulti-chain Cosmos ecosystem support
Bitcoin@dynamic-labs/bitcoinBasic Bitcoin wallet connectivity

Project Options

Frameworks

  • Next.js: Server-side rendering, file-based routing, optimized for production
  • React: Client-side SPA with Create React App configuration
  • React Native: Mobile application support with Expo

Library Options

When including Ethereum support, you can choose:

  • Viem: Modern, lightweight TypeScript library for Ethereum
  • Ethers.js: Popular, full-featured Ethereum library
  • Wagmi: React hooks for Ethereum (can be combined with either Viem or Ethers)

Usage Examples

Generate a Next.js App with Specific Options

# To create a specific Next.js project
npx create-dynamic-app my-next-app --framework nextjs --chains ethereum,solana --library viem --wagmi

Generate a React App

# To create a specific React project
npx create-dynamic-app my-react-app --framework react --chains ethereum --library ethers

Generate Projects for Development/Testing

# Generate all variations for testing
npm run generate:all

Project Structure

The generated projects follow best practices for their respective frameworks:

Next.js Project

my-next-app/
├── app/                 # Next.js app directory
│   ├── components/      # React components
│   ├── page.tsx         # Main application page
│   └── layout.tsx       # Root layout
├── lib/                 # Utility functions
│   ├── dynamic.ts       # Dynamic SDK exports
│   ├── providers.tsx    # Context providers
│   └── wagmi.ts         # Wagmi configuration (if selected)
├── public/              # Static assets
└── package.json         # Dependencies and scripts

React Project

my-react-app/
├── public/              # Static assets
├── src/                 # Source code
│   ├── App.js           # Main application component
│   ├── Main.js          # Content component
│   ├── Methods.js       # Chain-specific utility methods
│   └── index.js         # Application entry point
└── package.json         # Dependencies and scripts

Troubleshooting

Common Issues

Issue: Error installing dependencies with npm Solution: Try using --legacy-peer-deps flag or use yarn:

cd my-dynamic-project
npm install --legacy-peer-deps

Issue: Conflicts with Solana dependencies Solution: The generator adds necessary overrides. If you have issues, manually set:

"overrides": {
  "rpc-websockets": "7.10.0",
  "@solana/web3.js": "1.91.6"
}

Issue: Environment ID is missing Solution: Replace the placeholder in providers.tsx/App.js:

environmentId: "YOUR_ENVIRONMENT_ID", // Get from Dynamic dashboard

Contributing

Contributions are welcome! To contribute:

  • Fork the repository
  • Create your feature branch (git checkout -b feature/amazing-feature)
  • Make your changes
  • Run tests and linting (npm run lint && npm test)
  • Commit your changes (git commit -m 'Add some amazing feature')
  • Push to the branch (git push origin feature/amazing-feature)
  • Open a Pull Request

License

ISC License - see the LICENSE file for details.

Keywords

dynamic

FAQs

Package last updated on 28 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts