Mua tiền điện tử
Thị trường
Spot
Futures
Earn
Chương trình
Thêm
reward-centerKhu vực người mới
AcademyThuật ngữ chuyên ngànhChi tiết
Ethereum
Hợp đồng thông minh

Calldata

Định nghĩa

Calldata là một loại dữ liệu chỉ Đã đọc được gửi kèm theo một giao dịch khi tương tác với một hợp đồng thông minh trên Ethereum. Nó chứa các hướng dẫn và giá trị đầu vào mà một hợp đồng thông minh cần để thực thi một chức năng, nhưng nó không thể được sửa đổi hoặc lưu trữ vĩnh viễn bởi hợp đồng.

Nói một cách đơn giản, calldata là thông điệp bạn gửi đến một hợp đồng thông minh để cho nó biết phải làm gì và với thông tin gì.

Calldata Đã được sử dụng để làm gì?

Calldata chủ yếu Đã được sử dụng để truyền thông tin vào các hợp đồng thông minh. Điều này bao gồm:

  • Chức năng nào cần gọi
  • Các tham số cần thiết để chạy chức năng đó
  • Dữ liệu giao dịch được mã hóa từ người dùng hoặc ứng dụng

Bởi vì calldata không được lưu trong Storage của hợp đồng, nó rẻ hơn Storage vĩnh viễn, làm cho nó trở thành một cách hiệu quả để cung cấp dữ liệu tạm thời trong quá trình thực thi.

Cách Calldata hoạt động

Khi người dùng gửi một giao dịch đến một hợp đồng thông minh, giao dịch đó bao gồm calldata chỉ định hành động cần thực hiện. Máy ảo Ethereum (EVM) Đã đọc dữ liệu này, thực thi chức năng được yêu cầu và sau đó loại bỏ calldata sau khi thực thi hoàn tất.

Ví dụ, khi người dùng hoán đổi token trên một sàn giao dịch phi tập trung, calldata của giao dịch bao gồm các chi tiết như địa chỉ token, số lượng đang được hoán đổi và địa chỉ người nhận. Hợp đồng thông minh Đã đọc thông tin này, hoàn tất việc hoán đổi và không giữ lại calldata sau đó.

Calldata trong việc mở rộng quy mô Ethereum

Calldata đóng một vai trò quan trọng trong việc mở rộng quy mô Ethereum, đặc biệt đối với các rollup. Các rollup đăng dữ liệu giao dịch đã nén lên Ethereum bằng cách sử dụng calldata để bất kỳ ai cũng có thể xác minh các giao dịch ngoài chuỗi nếu cần.

Tuy nhiên, calldata có thể trở nên đắt đỏ khi một lượng lớn dữ liệu được đăng. Đây là lý do tại sao các giải pháp mới hơn như data blobs và các lớp khả dụng dữ liệu bên ngoài đang được phát triển để giảm chi phí.

Calldata so với Storage và Memory

Calldata khác với các vị trí dữ liệu khác trong Ethereum:

Calldata : Chỉ Đã đọc, tạm thời và Đã được sử dụng cho các đầu vào chức năng.

Memory : Tạm thời và có thể sửa đổi trong quá trình thực thi.

Storage : Dữ liệu bền vững được lưu trên blockchain và đắt nhất để Đã được sử dụng.

Tại sao nó quan trọng

Hiểu về calldata giúp người dùng và nhà phát triển nắm bắt cách các hợp đồng thông minh nhận hướng dẫn và tại sao chi phí giao dịch khác nhau. Nó cũng giải thích tại sao các rollup dựa vào calldata để minh bạch và tại sao việc tối ưu hóa việc Đã được sử dụng dữ liệu lại rất quan trọng đối với khả năng mở rộng của Ethereum.

Calldata có thể vô hình đối với hầu hết người dùng, nhưng nó là một khối xây dựng cốt lõi về cách các hợp đồng thông minh và các giải pháp mở rộng quy mô hoạt động trên Ethereum.