# Count DApp

## Mục lục <a href="#table-of-contents" id="table-of-contents"></a>

* [1. Thiết lập môi trường](/content/dapp/tutorials/count-dapp/1.-environment-setup.md)
* [2. Sao chép Count DApp](/content/dapp/tutorials/count-dapp/2.-clone-count-dapp.md)
* [3. Cấu trúc thư mục](/content/dapp/tutorials/count-dapp/3.-directory-structure.md)
* [4. Viết hợp đồng thông minh](/content/dapp/tutorials/count-dapp/4.-write-smart-contract.md)
* [5. Tổng quan về mã Frontend](https://github.com/klaytn/klaytn-docs-vn/blob/main/docs/dapp/tutorials/count-dapp/5.-frontend-code-overview)
  * [5-1. Thành phần số khối](/content/dapp/tutorials/count-dapp/5.-frontend-code-overview/5-1.-blocknumber-component.md)
  * [5-2. Thành phần xác thực](/content/dapp/tutorials/count-dapp/5.-frontend-code-overview/5-2.-auth-component.md)
  * [5-3. Thành phần Count](/content/dapp/tutorials/count-dapp/5.-frontend-code-overview/5-3.-count-component.md)
* [6. Triển khai hợp đồng](/content/dapp/tutorials/count-dapp/6.-deploy-contract.md)
* [7. Chạy ứng dụng](/content/dapp/tutorials/count-dapp/7.-run-app.md)

## Môi trường thử nghiệm <a href="#testing-environment" id="testing-environment"></a>

Count DApp được thử nghiệm trong môi trường sau đây.

* MacOS Mojave 10.14.5
* Nút 10.16.0 (LTS)
* npm 6.9.0
* Python 2.7.10

## Giới thiệu <a href="#introduction" id="introduction"></a>

![giới thiệu](/files/n9zHmlWpQpBqybb1nJb3)

Hướng dẫn này cung cấp chỉ dẫn từng bước để xây dựng ứng dụng Klaytn. Với Klaytn, bạn không cần có kinh nghiệm từ trước. Chúng ta sẽ tạo một ứng dụng web đơn giản tương tác với hợp đồng thông minh cơ bản `Count`.\
Bất kỳ người dùng nào có tài khoản Klaytn đều có thể tăng và giảm giá trị hiện tại như trong gif trên.

> **Source Code**\
> Mã nguồn hoàn chỉnh có ở GitHub, tại đây <https://github.com/klaytn/countbapp>

## Đối tượng mục tiêu <a href="#intended-audience" id="intended-audience"></a>

Bất kỳ ai muốn tìm hiểu cách xây dựng ứng dụng chuỗi khối trên Klaytn. Chúng ta sẽ xây dựng một ứng dụng web tương tác với các hợp đồng thông minh. Để hiểu trọn vẹn hướng dẫn này, người xem phải làm quen với các khái niệm sau.

* Chúng tôi sẽ xem như bạn đã có kiến thức cơ bản về [React](https://reactjs.org/) và [Redux](https://redux.js.org/).x. Khóa học này không dành cho những người mới bắt đầu.
* Bạn nên có kiến thức và kinh nghiệm cơ bản về phát triển Solidity. Tuy nhiên, một nhà phát triển SW có kinh nghiệm cũng có thể hoàn thành tác vụ nếu làm theo chỉ dẫn từng bước trong hướng dẫn này.


---

# 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://archive-vn.docs.klaytn.foundation/content/dapp/tutorials/count-dapp.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.
