Mổ xẻ phí giao dịch chuyển TRC-20: năng lượng, bandwidth, và những gì thực sự bị tính phí

2026-04-06

Hai tài nguyên, một giao dịch

Mỗi giao dịch chuyển TRC-20 trên TRON tiêu thụ hai tài nguyên riêng biệt: bandwidthnăng lượng. Chúng được tính phí riêng, rút từ các bể riêng, và có cơ chế bổ sung hoàn toàn khác nhau. Hầu hết các nhà phát triển hiểu một trong hai, nhưng sự tương tác giữa chúng là nơi chi phí hoặc vẫn có thể quản lý được hoặc tăng vọt.

Bandwidth bao phủ chi phí byte thô của việc phát một giao dịch lên mạng lưới. Năng lượng bao phủ chi phí thực thi VM của việc chạy logic hợp đồng thông minh. Một giao dịch chuyển TRX đơn giản chỉ cần bandwidth. Một giao dịch chuyển TRC-20, kích hoạt hàm transfer(address,uint256) của hợp đồng token, cần cả hai.

Bandwidth: nửa đơn giản hơn

Mỗi tài khoản TRON nhận được 600 bandwidth miễn phí mỗi ngày thông qua một phân bổ cơ sở. Một giao dịch chuyển TRC-20 tiêu chuẩn thường khoảng 345 byte, ánh xạ thành khoảng 345 đơn vị bandwidth (mạng lưới tính 1 bandwidth trên mỗi byte dữ liệu giao dịch, bao gồm chữ ký và các trường ghi chú).

Nếu tài khoản của bạn có đủ bandwidth miễn phí hàng ngày hoặc TRX được staking cho bandwidth, giao dịch không tốn gì về khía cạnh này. Nếu bể bandwidth rỗng, mạng lưới đốt TRX trực tiếp với tỷ lệ 0.001 TRX trên mỗi đơn vị bandwidth (1000 SUN trên mỗi byte). Đối với một giao dịch 345 đơn vị, đó là 0.345 TRX bị đốt từ địa chỉ gửi, không cần staking.

600 đơn vị miễn phí hàng ngày đặt lại vào 00:00 UTC. Nếu bạn đang thực hiện các giao dịch chuyển khối lượng thấp, bạn hiếm khi gặp chi phí bandwidth. Người gửi khối lượng lớn thường stake TRX cho bandwidth thay vì đốt, vì lợi suất staking bao phủ nhiều giao dịch trên mỗi TRX hơn tỷ lệ đốt.

Năng lượng: nơi chi phí thực sự tồn tại

Một giao dịch chuyển USDT TRC-20 tiêu thụ khoảng 65,000 energy. Con số đó đến từ việc thực thi bytecode tương thích EVM bên trong Máy ảo TRON: các thao tác đọc và ghi storage vào mapping số dư của hợp đồng, việc phát sự kiện cho log Transfer, và các kiểm tra an toàn nội bộ. Con số chính xác có thể thay đổi đôi chút tùy thuộc vào việc storage slot có đang được ghi lần đầu (lạnh) hay được cập nhật (ấm), nhưng 65,000 là con số tiêu chuẩn cho một giao dịch chuyển USDT điển hình giữa hai địa chỉ đang hoạt động. Một giao dịch chuyển đến người nhận có số dư USDT hiện tại bằng không gần như tăng gấp đôi lên khoảng 130,000 energy vì một storage slot mới được phân bổ.

Năng lượng có hai nguồn: TRX được staking của riêng bạn, hoặc năng lượng được thuê (được ủy quyền) từ bên thứ ba. Staking TRX cho bạn một phần tỷ lệ của tổng bể năng lượng của mạng lưới, và bể tái tạo tuyến tính quay lại 100% trong 24 giờ. Tỷ lệ chính xác của năng lượng trên mỗi TRX được staking phụ thuộc vào tổng số tiền được staking trên toàn mạng lưới và dịch chuyển theo thời gian. Để phục hồi 65,000 energy chỉ từ stake của riêng bạn đòi hỏi một lượng TRX đáng kể bị khóa, đó là lý do tại sao việc thuê năng lượng tồn tại.

Điều gì xảy ra khi năng lượng cạn kiệt

Nếu một giao dịch cần 65,000 energy và tài khoản của bạn không có đủ khả dụng, mạng lưới không âm thầm xử lý một việc thực thi một phần. Thay vào đó, nó kiểm tra fee_limit của giao dịch và đốt TRX từ tài khoản của bạn, lên đến giới hạn đó, để bù đắp phần thiếu hụt năng lượng, sau đó thực thi toàn bộ giao dịch. Nếu phần thiếu hụt vượt quá fee_limit của bạn, giao dịch thất bại trước khi bất kỳ thay đổi trạng thái nào được cam kết.

Đây là kịch bản bạn muốn tránh: trả tiền cho cả năng lượng đã staking của bạn và cho TRX bị đốt thêm, hoặc tệ hơn, làm thất bại giao dịch hoàn toàn vì fee_limit được đặt quá thấp. Bạn có thể kiểm tra chi phí TRX hiện tại để bao phủ 65,000 energy trên trang giá trước khi cam kết với một chiến lược.

Stake 2.0 đã thay đổi cách ủy quyền hoạt động

Trước Stake 2.0 (được kích hoạt trên mainnet vào tháng 4 năm 2023), việc staking và ủy quyền đan xen với nhau: chủ sở hữu tài nguyên gọi freezeBalance và chỉ định một địa chỉ người nhận trực tiếp, việc đóng băng được ràng buộc với người nhận đó, và mô hình không có sự linh hoạt cần thiết cho các thị trường tài nguyên.

Stake 2.0 đã giới thiệu freezeBalanceV2 và tách hành động staking khỏi hành động ủy quyền. Bạn giờ đây stake TRX vào một bể năng lượng hoặc bandwidth cá nhân, sau đó ủy quyền tài nguyên đó một cách riêng biệt thông qua delegateResource. Điều này có nghĩa là:

  • Các ủy quyền có thể bị thu hồi theo mặc định và có thể được phân bổ lại mà không cần unstake. Có một cờ lock tùy chọn: đặt nó thành true giữ ủy quyền trong ít nhất thời gian khóa tối thiểu của mạng lưới (hiện tại là 3 ngày). Không có cờ đó, bạn có thể rút lại việc ủy quyền bất cứ lúc nào.
  • Thời gian chờ unfreeze 14 ngày áp dụng cho stake TRX cơ bản khi bạn rút nó, không phải cho chính việc ủy quyền.
  • Các nền tảng thuê năng lượng có thể luân chuyển các ủy quyền qua nhiều địa chỉ người nhận từ một vị thế được staking duy nhất.

Trên chuỗi, khi một nền tảng thuê như tronenergyrent.com ủy quyền năng lượng cho địa chỉ của bạn, số tiền được ủy quyền được phản ánh trong trạng thái tài khoản của bạn, hiển thị qua wallet/getaccount dưới dạng acquired_delegated_frozenV2_balance_for_energy. Năng lượng có thể sử dụng tương ứng xuất hiện đối với giới hạn năng lượng của tài khoản bạn và có thể chi tiêu ngay lập tức mà không cần bất kỳ hành động nào từ phía bạn.

Chi phí thuê so với chi phí đốt

Việc thuê được định giá theo cấp độ thời lượng: 1 giờ, 1 ngày, 3 ngày, 30 ngày. Cấp độ 1 giờ là rẻ nhất về TRX tuyệt đối, cấp độ 30 ngày là đắt nhất, với 1 ngày và 3 ngày ở giữa. Việc định giá phản ánh stake TRX cơ bản của nền tảng bị khóa với địa chỉ của bạn trong bao lâu: cửa sổ dài hơn = nhiều vốn bị buộc hơn = nhiều TRX được tính phí hơn. Để biết các con số hiện tại trên mỗi cấp độ tính bằng TRX, hãy xem giá.

So với đốt, việc thuê hầu như luôn thắng đối với những người gửi có kế hoạch trước. Việc đốt toàn bộ 65,000 energy theo tỷ lệ động của mạng lưới thì đơn giản nhưng phơi nhiễm với bất kỳ chi phí đốt nào hiện tại đang xảy ra, có thể di chuyển mạnh khi nhu cầu năng lượng tổng thể của mạng lưới thay đổi. Thuê cho bạn một chi phí TRX cố định tại thời điểm đặt hàng.

Thứ tự ưu tiên tài nguyên trong quá trình thực thi

Khi một giao dịch thực thi, VM rút năng lượng theo một thứ tự cụ thể:

  1. Năng lượng được hỗ trợ bởi các tài nguyên được ủy quyền cho địa chỉ của bạn bởi các tài khoản khác
  2. Năng lượng từ TRX đã staking của riêng bạn
  3. TRX bị đốt từ tài khoản của bạn để bao phủ bất kỳ phần thiếu hụt nào còn lại (bị giới hạn bởi fee_limit)

Thứ tự này quan trọng đối với các chiến lược thuê. Năng lượng được ủy quyền được tiêu thụ trước stake của riêng bạn. Vì vậy nếu bạn có cả năng lượng đã staking của riêng bạn và năng lượng được thuê, phần được thuê được rút trước. Khi cửa sổ thuê hết hạn và việc ủy quyền được thu hồi, tài khoản của bạn quay lại số dư đã staking của riêng nó hoặc, nếu không đủ, đến việc đốt TRX.

Bandwidth tuân theo cùng thứ tự ưu tiên: phân bổ miễn phí hàng ngày trước, sau đó bandwidth được staking, sau đó đốt TRX. Không có sự thay thế chéo giữa các tài nguyên; bạn không thể sử dụng năng lượng dư để bao phủ phần thiếu hụt bandwidth.

Đọc trạng thái tài nguyên trên chuỗi của tài khoản bạn

Endpoint API của TRON wallet/getaccountresource trả về một đối tượng JSON với các trường bạn nên biết:

  • EnergyLimit: tổng năng lượng hiện đang khả dụng cho tài khoản của bạn từ stake của riêng bạn
  • EnergyUsed: năng lượng được tiêu thụ trong cửa sổ 24 giờ hiện tại
  • TotalEnergyLimit: tổng năng lượng trên toàn mạng lưới (hữu ích để tính tỷ lệ stake-trên-năng lượng)
  • TotalEnergyWeight: tổng trọng số đã staking trên toàn mạng lưới cho năng lượng
  • freeNetLimit: trợ cấp bandwidth miễn phí hàng ngày của bạn (thường là 600)
  • NetLimit: bandwidth từ TRX đã staking của riêng bạn
  • NetUsed: bandwidth được tiêu thụ hôm nay
  • TotalNetLimit, TotalNetWeight: tổng số trên toàn mạng lưới cho bandwidth

Để xem bao nhiêu năng lượng đã được ủy quyền cho địa chỉ của bạn bởi những người khác, hãy truy vấn wallet/getaccount và đọc trường acquired_delegated_frozenV2_balance_for_energy. Để biết chi tiết trên mỗi người ủy quyền, bao gồm bất kỳ thời gian hết hạn khóa nào, hãy sử dụng wallet/getdelegatedresourcev2.

Nếu bạn đang xây dựng một hệ thống gửi các giao dịch chuyển TRC-20 theo chương trình, việc polling các endpoint này trước khi phát cho phép bạn phát hiện các điều kiện năng lượng thấp trước khi chúng gây ra việc đốt TRX bất ngờ. Tài liệu API bao phủ cách tích hợp kiểm tra tài nguyên và đặt hàng năng lượng vào các quy trình làm việc tự động.

Tại sao các hợp đồng token khác nhau về tiêu thụ năng lượng

Con số 65,000 energy của USDT cụ thể cho hợp đồng Tether tại TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Các hợp đồng TRC-20 khác sẽ khác. Một hợp đồng token có logic bổ sung (cơ chế phí trên giao dịch chuyển, kiểm tra quyền cho các router, hoặc phát sự kiện cho nhiều chủ đề) sẽ tiêu thụ nhiều năng lượng hơn trên mỗi cuộc gọi. Một hợp đồng kiểu ERC-20 tối thiểu có thể dưới 30,000.

Cách đáng tin cậy duy nhất để biết chi phí năng lượng thực tế của một hợp đồng là mô phỏng giao dịch hoặc xem các bản ghi thực thi lịch sử cho hợp đồng cụ thể đó trên một trình khám phá khối. Đừng áp dụng con số USDT một cách phổ quát cho tất cả các token TRC-20.

Muon tiet kiem phi giao dich TRON? Kiem tra gia nang luong ngay. Ước Tính Giá
Quay lai Blog