# Getting Started

## What is a dApp?

A dApp (decentralized application) is a software application that operates on a distributed network, typically using blockchain technology. Unlike traditional centralized applications, dApps run on a peer-to-peer network of computers, often utilizing smart contracts on a blockchain for enhanced security and transparency.

## Prerequisites

Before diving into dApp development, ensure you have:

* A solid understanding of blockchain fundamentals.
* Experience with Solidity (for smart contracts) and JavaScript (for front-end development).
* A VeChain-compatible [wallet](https://docs.vechain.org/core-concepts/wallets) for testing.

## Quick Start with VeChain Templates

Jump-start your development with our [pre-built templates](https://www.npmjs.com/package/create-vechain-dapp):

```bash
npm create vechain-dapp
```

or

```bash
yarn create vechain-dapp
```

or

<pre class="language-bash"><code class="lang-bash"><strong>npx create-vechain-dapp@latest
</strong></code></pre>

## Development Roadmap

#### 1. Design your dApp

Outline your dApp's functionality, user interface, and key features.

#### 2. **Develop Smart Contracts**

Create Solidity smart contracts to define your dApp's core logic.

* Utilize our [Remix plugin](https://docs.vechain.org/developer-resources/frameworks-and-ides/remix) or [Hardhat plugin](https://docs.vechain.org/developer-resources/frameworks-and-ides/hardhat) for a seamless development experience.
* Leverage [Built-in Contracts](https://docs.vechain.org/developer-resources/built-in-contracts) to enhance functionality.

#### 3. **Build the Front-End**

Craft an intuitive user interface using modern web technologies.

* Implement easy wallet login with [dappKit](https://docs.vechain.org/developer-resources/sdks-and-providers/dapp-kit/dapp-kit-1).
* Add social login and get many hooks and features with [VeChain-kit](https://docs.vechain.org/developer-resources/broken-reference).
* Use our comprehensive [SDK](https://docs.vechain.org/developer-resources/sdks-and-providers/sdk) for efficient blockchain interactions.
* Connect to VeChainThor via our [node endpoints](https://docs.vechain.org/core-concepts/nodes).

#### 4. **Test Thoroughly**

* Deploy and test on the [VeChainThor Solo Node](https://docs.vechain.org/core-concepts/networks/thor-solo-node) before going live.
* Utilize [Devpal](https://docs.vechain.org/developer-resources/sdks-and-providers/devpal)for streamlined development and testing.

#### 5. **Launch Your dApp**

Submit your dApp to the [VeChain App Hub](https://apps.vechain.org/#all) for increased visibility.

By following this guide, you'll be well-equipped to create robust, scalable dApps on the VeChainThor blockchain. Happy coding!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vechain.org/developer-resources/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
