# eth_simulateV1: tham số, giá trị trả về và CU

> Source: https://docs.blockvectra.com/vi/api/json-rpc/methods/eth_simulateV1/

## Tổng quan

Mô phỏng một chuỗi các lệnh gọi hoặc giao dịch trên trạng thái của một khối mà không phát sóng chúng lên mạng. ([Tài liệu chính thức](https://ethereum.github.io/execution-apis/api/methods/eth_simulateV1))

## Compute Units (CU) và bảng giá

- CU mỗi lệnh gọi: 20 CU
- Giá cho mỗi 1M lệnh gọi (USD): $2.00

## Tham số

| Tham số | Kiểu | Mô tả |
| --- | --- | --- |
| `payload` | `object` | Đối tượng payload mô phỏng: blockStateCalls (bắt buộc) là mảng các khối mô phỏng, mỗi khối có các trường tùy chọn blockOverrides (ghi đè tiêu đề khối), stateOverrides (ghi đè trạng thái tài khoản) và calls (các lệnh gọi hoặc giao dịch thực thi trong khối đó); validation (boolean, mặc định false) chạy hầu hết các xác thực EVM tiêu chuẩn khi true và hoạt động như eth_call khi false; traceTransfers (boolean, mặc định false) thêm chuyển ETH vào log như sự kiện Transfer ERC-20; returnFullTransactions (boolean) trả về đối tượng giao dịch đầy đủ khi true, hoặc chỉ trả về hash nếu ngược lại. |
| `block` | `QUANTITY\|TAG\|HASH` | Số hiệu khối tùy chọn (số lượng thập lục phân có tiền tố 0x), mã băm khối hoặc thẻ khối dùng để mô phỏng; mặc định là 'latest'. |

## Giá trị trả về

- **Kiểu**: `ARRAY`
- **Mô tả**: EthSimulateResult: mảng các đối tượng khối mô phỏng, mỗi đối tượng chứa các trường tiêu đề như number, hash, parentHash, timestamp, gasLimit, gasUsed, baseFeePerGas và feeRecipient, cùng mảng calls; mỗi lệnh gọi có status (0x1 thành công, 0x0 thất bại), returnData, gasUsed và maxUsedGas, kèm log khi thành công hoặc error khi thất bại.

## Ghi chú

Tính khả dụng tuân theo chính sách phương thức của chuỗi (methods.allow). Chuỗi không kích hoạt phương thức này sẽ trả về -32601 method not available (không tính phí).

## Ví dụ yêu cầu

```bash
export BLOCKVECTRA_API_KEY=rgw_your_api_key

curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_simulateV1",
    "params": [
      {
        "blockStateCalls": [
          {
            "calls": [
              {
                "to": "<toAddress>",
                "data": "<callData>"
              }
            ]
          }
        ]
      },
      "latest"
    ],
    "id": 1
  }'
```

## Chuỗi được hỗ trợ

Khả dụng trên tất cả các chuỗi được hỗ trợ ngoại trừ: BNB Smart Chain (bsc_mainnet), Ethereum (eth_mainnet), Ethereum Sepolia (eth_sepolia), HyperEVM (hyperevm_mainnet).
