> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cách sử dụng getVersion

> Tìm hiểu các trường hợp sử dụng getVersion, ví dụ mã, tham số yêu cầu, cấu trúc phản hồi và mẹo.

Phương thức RPC [`getVersion`](https://www.helius.dev/docs/api-reference/rpc/http/getversion) trả về phiên bản phần mềm Solana hiện đang chạy trên nút RPC được truy vấn. Thông tin này bao gồm chuỗi phiên bản `solana-core` và mã định danh `feature-set`.

Phương thức này hữu ích để xác minh phiên bản của nút mà bạn đang tương tác hoặc phục vụ mục đích chẩn đoán.

## Các trường hợp sử dụng phổ biến

* **Xác minh phiên bản nút:** Xác nhận phiên bản phần mềm của một nút RPC. Điều này có thể quan trọng để đảm bảo khả năng tương thích hoặc nắm được các tính năng hiện có.
* **Giám sát mạng:** Các công cụ có thể kiểm tra định kỳ phiên bản của nhiều nút để nắm được tình hình phân bổ phần mềm trên toàn mạng (mặc dù `getClusterNodes` cung cấp góc nhìn toàn diện hơn cho mục đích này).
* **Khắc phục sự cố:** Việc biết phiên bản của nút có thể rất quan trọng khi chẩn đoán sự cố hoặc hành vi không mong đợi.

## Tham số yêu cầu

Phương thức này không nhận bất kỳ tham số nào.

## Cấu trúc phản hồi

Trường `result` của phản hồi JSON-RPC sẽ là một đối tượng chứa:

* **`solana-core`** (chuỗi): Chuỗi phiên bản của phần mềm lõi Solana (ví dụ: "1.18.4").
* **`feature-set`** (u32): Mã định danh dạng số cho tập hợp tính năng được kích hoạt trên nút.

**Ví dụ về phản hồi:**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": {
    "solana-core": "1.18.4",
    "feature-set": 3595898949
  },
  "id": 1
}
```

## Ví dụ mã

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getVersion"
    }' \
    <YOUR_RPC_URL>
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection } = require('@solana/web3.js');

  async function getNodeVersion() {
    // Replace with your RPC endpoint
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');

    try {
      const versionInfo = await connection.getVersion();
      console.log('Node Version Information:');
      console.log(`  Solana Core: ${versionInfo['solana-core']}`);
      console.log(`  Feature Set: ${versionInfo['feature-set']}`);
    } catch (error) {
      console.error('Error fetching node version:', error);
    }
  }

  getNodeVersion();
  ```
</CodeGroup>

## Mẹo dành cho nhà phát triển

* **Đơn giản:** Đây là một trong những lệnh gọi RPC đơn giản nhất, hữu ích để kiểm tra nhanh phần mềm của nút.
* **Dành riêng cho từng nút:** Phiên bản được trả về là phiên bản của riêng nút RPC mà bạn đang truy vấn. Các nút khác nhau trong cụm có thể đang chạy các phiên bản hơi khác nhau, đặc biệt là trong giai đoạn nâng cấp.

Hướng dẫn này cung cấp thông tin tổng quan rõ ràng về phương thức RPC `getVersion`, các trường hợp sử dụng và cách diễn giải phản hồi của phương thức này.

## Các phương thức liên quan

<CardGroup cols={2}>
  <Card title="getClusterNodes" href="/docs/vi/api-reference/rpc/http/getclusternodes">
    Lấy thông tin phiên bản của tất cả các nút trong cụm
  </Card>

  <Card title="getHealth" href="/docs/vi/api-reference/rpc/http/gethealth">
    Kiểm tra trạng thái hoạt động của nút
  </Card>
</CardGroup>
