> For the complete documentation index, see [llms.txt](https://docs.viction.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viction.xyz/developer-guide/build-a-dapp-on-viction.md).

# Walkthrough: Build a Dapp on Viction

In this guide:

* Setting up Hardhat, the most popular development framework for Ethereum which also works perfectly for Viction.
* Creating a Hardhat project.
* Creating a Viction wallet.
* Requesting free tokens using Viction faucet.
* Writing a smart contract.
* Compiling and migrating the smart contract to Viction.
* Connecting Metamask to Viction Testnet.
* Creating a user interface to interact with the smart contract.

### Why should developers build Dapps on Viction? <a href="#id-8c4b" id="id-8c4b"></a>

Remember [*CryptoKitties*](https://www.cryptokitties.co/) in 2017? A single Dapp brought the whole Ethereum blockchain to its knees. The network was congested, with endless waiting times for transaction confirmation and high transaction fees. Porting to Viction would seem a good idea for the cute kitties.

Viction Mainnet can process 2,000 TPS, which is **100x faster than the Ethereum blockchain,** and for a fraction of the cost.

In this tutorial, we will see **how to build a Dapp using Solidity** and then deploy it to **Viction** blockchain.

> **Note:** Because deploying a smart contract on Mainnet is much similar to Testnet, the differences are just the configuration information, this document will explicitly mention the differences where possible.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.viction.xyz/developer-guide/build-a-dapp-on-viction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
