Lưu ý khi sử dụng API không gian tên eth trong Klaytn.
Klaytn hỗ trợ các API không gian tên eth, do đó giờ đây các nhà phát triển sử dụng SDK hoặc công cụ dựa trên Ethereum có thể dễ dàng di chuyển các dự án hiện tại của họ sang Klaytn. (Ví dụ: Bạn có thể thay thế URL điểm cuối trong các công cụ Ethereum để trỏ đến nút Klaytn.)
Tuy nhiên, do Klaytn và Ethereum có những khác biệt cơ bản trong thiết kế, một số API không thể được hỗ trợ đầy đủ. (Ví dụ: một số trường luôn có giá trị bằng 0)
Biểu tượng ✅ trong phần mô tả biểu thị rằng trường được dùng như trong Ethereum.
Trường tiêu đề Ethereum
Trường tiêu đề Klaytn
Mô tả
baseFeePerGas
(đã thêm)
⚠️ Trường này luôn có giá trị là 0x0 vì Klaytn không có chế độ baseFeePerGas.
difficulty
(đã thêm)
⚠️ Trường này tương ứng với blockScore trong tiêu đề của Klaytn và có giá trị cố định là 0x1. Lý do là vì cơ chế đồng thuận của Klaytn không dựa trên PoW (bằng chứng xử lý) nhằm biểu thị khái niệm kỹ thuật về độ khó của khối không áp dụng cho nhân Klaytn.
extraData
extraData
⚠️ Trường này luôn có giá trị là 0x nhằm biểu thị giá trị rỗng. Do extraData của Klaytn chứa dữ liệu đồng thuận như địa chỉ của người xác thực, chữ ký của người xác thực và chữ ký của người đề xuất nên dữ liệu này không thể áp dụng cho API không gian tên eth.
gasLimit
(đã thêm)
⚠️ Trường này luôn có giá trị là 0xe8d4a50fff(=999999999999 ở dạng thập phân), đây là con số tùy ý vì Klaytn không có GasLimit. Tại thời điểm tạo bài viết này, con số này cao gấp 30 lần so với giới hạn gas khối của Ethereum. Vui lòng tham khảo Chi phí tính toán để biết thêm chi tiết.
gasUsed
gasUsed
✅ Một giá trị vô hướng bằng tổng số đơn vị gas dùng khi giao dịch trong khối này.
governanceData(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Tiêu đề của khối Ethereum.
hash
hash
✅ Hàm băm của một khối.
nhật kýBloom
nhật kýBloom
✅ Bộ lọc Bloom cho các bản ghi của khối. null khi đó là khối đang chờ xử lý.
miner
(đã thêm)
⚠️ Trường này trả về địa chỉ của người đề xuất khối, vì cơ chế đồng thuận của Klaytn là PBFT, trong đó có một người đề xuất khối thay vì thợ đào.
mixHash
(đã thêm)
⚠️ Trường này luôn có giá trị là zeroHash (0x00...) do cơ chế đồng thuận của Klaytn không dựa trên PoW.
nonce
(đã thêm)
⚠️ Trường này luôn có giá trị là zeroNonce (0x00...) do cơ chế đồng thuận của Klaytn không dựa trên PoW.
number
number
✅ Số khối.
parentHash
parentHash
✅ Hàm băm của khối cha mẹ.
receiptsRoot
receiptsRoot
✅ gốc của trie biên lai trong khối.
reward(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Tiêu đề của khối Ethereum.
sha3Uncles
(đã thêm)
⚠️ Trường này luôn có giá trị 0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347, đây là giá trị băm Keccak256 của các byte được mã hóa RLP thuộc danh sách chứa tiêu đề khối trống vì không có khối chú trên Klaytn.
size
size
✅ Kích thước của khối này tính bằng đơn vị byte.
stateRoot
stateRoot
✅ Gốc của trie trạng thái cuối trong khối.
dấu thời gian
dấu thời gian
✅ Dấu thời gian unix khi khối được đối chiếu.
timestampFoS(omitted)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Tiêu đề của khối Ethereum.
Có rất nhiều loại giao dịch trong Klaytn và các trường cấu trúc dữ liệu thay đổi tùy theo loại.
Do đó, bạn phải kiểm tra xem cách các loại giao dịch Klaytn khác nhau được chuyển thành giao dịch Ethereum, bởi vì trong quá trình chuyển đổi, một số trường bị bỏ qua hoặc thêm vào giá trị bằng 0 hoặc giá trị giả. Điều này có nghĩa là Một số thông tin quan trọng (đối với Klaytn) sẽ bị mất trong quá trình chuyển đổi.
Xin lưu ý rằng trong tài liệu này, chúng tôi định nghĩa Giao dịch cũ của Ethereum (EthereumLegacyTransaction) là định dạng giao dịch Ethereum trước đây EIP-2718.
Khi bạn cố gắng truy vấn các giao dịch Klaytn qua api JSON-RPC của không gian tên eth, các giao dịch Klaytn sẽ được trả về dưới dạng Giao dịch cũ Ethereum.
Tài liệu này mô tả chi tiết quá trình chuyển đổi (Giao dịch Klaytn -> Giao dịch cũ Ethereum).
Vui lòng đọc kỹ phần mô tả ⚠️.
Biểu tượng ✅ trong phần mô tả biểu thị rằng trường được dùng như trong Ethereum.
Trường chung
Mặc dù có nhiều loại, những loại giao dịch trên Klaytn đều có các trường chung. Phần này mô tả cách các trường chung đó được trình bày dưới dạng Giao dịch cũ Ethereum.
Trường giao dịch cũ Ethereum
Trường giao dịch Klaytn
Mô tả
blockHash
blockHash
✅ Hàm băm của một khối.
blockNumber
blockNumber
✅ Số khối.
từ
từ
✅ Địa chỉ của người gửi.
gas
gas
✅ Gas do người gửi cung cấp.
giá gas
giá gas
⚠️ Còn có tên là Đơn giá trong bối cảnh của Klaytn, giá trị này được xác định trong hệ thống thông qua các quy trình quản trị.
hash
hash
✅ Hàm băm của giao dịch.
nhập
(được nêu trong các phần bên dưới)
Mô tả của trường này được nêu trong các mục giao dịch chi tiết bên dưới.
nonce
nonce
✅ Số lượng giao dịch do người gửi thực hiện trước giao dịch này.
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
signatures(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
đến
(được nêu trong các phần bên dưới)
Mô tả của trường này được nêu trong các mục giao dịch chi tiết bên dưới.
transactionIndex
transactionIndex
⚠️ Gần giống như Ethereum nhưng khác với Ethereum ở chỗ Klaytn trả về số nguyên như khi giao dịch đang chờ xử lý.
giá trị
(được nêu trong các phần bên dưới)
Mô tả của trường này được nêu trong các mục giao dịch chi tiết bên dưới.
type
type(chuyển đổi)
⚠️ Trong Klaytn, type trả về loại giao dịch theo chuỗi (ví dụ: "LegacyTransaction"), nhưng đã được chuyển đổi sang hệ thập lục phân (ví dụ: 0x0) để khớp với Ethereum. Các loại giao dịch chỉ hợp lệ trong Klaytn luôn trả về giá trị 0x0.
typeInt(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
v
(đã thêm)
⚠️ Klaytn hỗ trợ MultiSig nên giao dịch trong Klaytn có thể có nhiều hơn một chữ ký. signatures[0].V được sử dụng làm giá trị của trường v.
r
(đã thêm)
⚠️ Klaytn hỗ trợ MultiSig nên giao dịch trong Klaytn có thể có nhiều hơn một chữ ký. signatures[0].R được sử dụng làm giá trị của trường r.
s
(đã thêm)
⚠️ Klaytn hỗ trợ MultiSig nên giao dịch trong Klaytn có thể có nhiều hơn một chữ ký. signatures[0].S được sử dụng làm giá trị của trường s.
Mặc dù có nhiều loại, những loại giao dịch FeeDelegation trên Klaytn đều có các trường chung. Phần này mô tả cách các trường chung cho feeDelegation (ngoại trừ các trường chung được đề cập ở trên) được trình bày dưới dạng Giao dịch cũ Ethereum.
Trường giao dịch cũ Ethereum
Trường giao dịch FeeDelegation của Klaytn
Mô tả
feePayer(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
feePayerSignatures(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Mặc dù có nhiều loại, những loại giao dịch PartialFeeDelegation trên Klaytn đều có các trường chung. Phần này mô tả cách các trường chung cho partialFeeDelegation (ngoại trừ các trường chung được đề cập ở trên) được trình bày dưới dạng Giao dịch cũ trên Ethereum.
Trường giao dịch cũ Ethereum
Trường giao dịch PartialFeeDelegation của Klaytn
Mô tả
feeRatio(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Các trường khác nhau đối với từng loại giao dịch
LegacyTransaction
Trường giao dịch cũ Ethereum
Trường LegacyTransaction Klaytn
Mô tả
nhập
nhập
✅ Dữ liệu được gửi cùng với giao dịch.
đến
đến
✅ Địa chỉ của người nhận. null nếu đó là giao dịch tạo hợp đồng.
giá trị
giá trị
✅ Giá trị được chuyển bằng Peb.
Giao dịch cũTransaction Klaytn được trình bày dưới dạng Giao dịch cũ Ethereum như dưới đây.
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
nhập
(đã thêm)
⚠️ Trường này luôn có giá trị là 0x có nghĩa là đầu vào trống vì trường này không tồn tại trong giao dịch AccountUpdate của Klaytn.
đến
(đã thêm)
⚠️ Trường này luôn có cùng địa chỉ với from vì trường này không tồn tại trong giao dịch AccountUpdate trên Klaytn và việc đưa ra giá trị của trường này dưới dạng địa chỉ from là có ý nghĩa nhất.
giá trị
(đã thêm)
⚠️ Trường này luôn có giá trị là 0x0 vì trường này không tồn tại trong giao dịch AccountUpdate trên Klaytn.
Giao dịch AccountUpdate trên Klaytn được trình bày dưới dạng Giao dịch cũ Ethereum như dưới đây.
⚠️ Trường này luôn có giá trị là 0x, có nghĩa là đầu vào trống vì trường này không tồn tại trong giao dịch Cancel trên Klaytn.
đến
(đã thêm)
⚠️ Trường này luôn có cùng địa chỉ với from vì trường này không tồn tại trong giao dịch Cancel trên Klaytn và việc đưa ra giá trị của trường này dưới dạng địa chỉ from là có ý nghĩa nhất.
giá trị
(đã thêm)
⚠️ Trường này luôn có giá trị là 0x0 vì trường này không tồn tại trong giao dịch Cancel trên Klaytn.
Giao dịch Cancel trên Klaytn được trình bày dưới dạng Giao dịch cũ Ethereum như dưới đây.
⚠️ Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
đến
(đã thêm)
⚠️ Trường này luôn có cùng địa chỉ với from vì trường này không tồn tại trong giao dịch ChainDataAnchoring trên Klaytn và việc đưa ra giá trị của trường này dưới dạng địa chỉ from là có ý nghĩa nhất.
giá trị
(đã thêm)
⚠️ Trường này luôn có giá trị là 0x0 vì trường này không tồn tại trong giao dịch ChainDataAnchoring trên Klaytn.
Giao dịch ChainDataAnchoring trên Klaytn được trình bày dưới dạng Giao dịch cũ Ethereum như dưới đây.
Theo mặc định, các trường trong Biên lai giao dịch trên Klaytn khác nhau tùy thuộc vào loại giao dịch. Do có rất nhiều loại giao dịch trong Klaytn, các trường biên lai giao dịch thay đổi tùy theo loại giao dịch.
Khi bạn cố gắng truy vấn các biên lai giao dịch trên Klaytn qua api JSON-RPC của không gian tên eth, các TransactionReceipt trên Klaytn sẽ được trả về dưới dạng Biên lai giao dịch trên Ethereum.
Tài liệu này mô tả chi tiết quá trình chuyển đổi (Biên lai giao dịch trên Klaytn -> Biên lai giao dịch trên Ethereum).
Vui lòng đọc kỹ phần mô tả ⚠️.
Biểu tượng ✅ trong phần mô tả biểu thị rằng trường được dùng như trong Ethereum.
Trường chung
Mặc dù có nhiều loại, những loại giao dịch trên Klaytn đều có các trường chung. (Xin lưu ý rằng các trường Biên lai giao dịch trên Klaytn thay đổi tùy theo loại giao dịch.)
Phần này mô tả cách các trường chung đó được trình bày dưới dạng Biên lai giao dịch trên Ethereum.
Trường Biên lai giao dịch trên Ethereum
Trường biên lai giao dịch Klaytn
Mô tả
blockHash
blockHash
✅ Hàm băm của một khối.
blockNumber
blockNumber
✅ Số khối.
contractAddress
contractAddress
✅ Địa chỉ hợp đồng được tạo nếu giao dịch là giao dịch tạo hợp đồng, nếu không, giá trị là - null.
cumulativeGasUsed
(đã thêm)
⚠️ Tổng lượng gas đã dùng khi giao dịch này được thực hiện trong khối. Trường này có ý nghĩa tương tự như trường Ethereum.
effectiveGasPrice
(đã thêm)
⚠️ Giá trị gasPrice được trả về do Klaytn áp dụng chính sách giá gas cố định. gasPrice(còn được gọi là Đơn giá) được cơ chế quản trị thiết lập trong hệ thống.
từ
từ
✅ Địa chỉ của người gửi.
gas(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
gasUsed
gasUsed
✅ lượng gas đã dùng trong riêng giao dịch cụ thể này.
gasPrice(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
nhật ký
nhật ký
✅ Mảng bao gồm các đối tượng bản ghi do giao dịch tạo ra.
nhật kýBloom
nhật kýBloom
✅ Bộ lọc Bloom dành cho các ứng dụng khách nhẹ giúp truy xuất nhanh các nhật ký liên quan.
nonce(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
signatures(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
trạng thái
trạng thái
✅ 1(thành công) hoặc 0(thất bại).
đến
(được nêu trong các phần bên dưới)
Mô tả của trường này được nêu trong các mục giao dịch chi tiết bên dưới.
transactionHash
transactionHash
✅ Hàm băm của giao dịch.
transactionIndex
transactionIndex
⚠️ Gần giống như Ethereum nhưng khác với Ethereum ở chỗ Klaytn trả về số nguyên như khi giao dịch đang chờ xử lý.
type
type(chuyển đổi)
⚠️ Giá trị và loại dữ liệu của trường này được chuyển đổi. Loại trường này là một chuỗi(ví dụ: "LegacyTransaction") trong Klaytn nhưng được chuyển đổi và trình bày dưới dạng thập lục phân(ví dụ: 0x) giống như Biên lai giao dịch trên Ethereum.
typeInt(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
Mặc dù có nhiều loại, những loại giao dịch FeeDelegation trên Klaytn đều có các trường chung. (Xin lưu ý rằng các trường Biên lai giao dịch trên Klaytn thay đổi tùy theo loại giao dịch.)
Phần này mô tả cách các trường chung cho feeDelegation (ngoại trừ các trường chung được đề cập ở trên) được trình bày dưới dạng Biên lai giao dịch trên Ethereum.
Trường Biên lai giao dịch trên Ethereum
Trường biên lai giao dịch FeeDelegation trên Klaytn
Mô tả
feePayer(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
feePayerSignatures(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
Mặc dù có nhiều loại, những loại giao dịch PartialFeeDelegation trên Klaytn đều có các trường chung. (Xin lưu ý rằng các trường Biên lai giao dịch trên Klaytn thay đổi tùy theo loại giao dịch.)
Phần này mô tả cách các trường chung cho partialFeeDelegation (ngoại trừ các trường chung được đề cập ở trên) được trình bày dưới dạng Biên lai giao dịch trên Ethereum.
Trường Biên lai giao dịch trên Ethereum
Trường biên lai giao dịch PartialFeeDelegation trên Klaytn
Mô tả
feeRatio(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
Các trường khác nhau đối với từng loại giao dịch
Biên lai LegacyTransaction
Trường biên lai giao dịch trên Ethereum
Trường biên lai LegacyTransaction Klaytn
Mô tả
input(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
đến
đến
✅ Địa chỉ của người nhận. null nếu đó là giao dịch tạo hợp đồng.
value(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
Biên lai LegacyTransaction trên Klaytn được trình bày dưới dạng Biên lai giao dịch trên Ethereum như dưới đây.
Trường biên lai giao dịch AccountUpdate trên Klaytn
Mô tả
key(bỏ qua)
⚠️ Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
đến
(đã thêm)
⚠️ Trường này luôn có cùng địa chỉ với from vì trường này không tồn tại trong biên lai giao dịch AccountUpdate trên Klaytn và việc đưa ra giá trị của trường này dưới dạng địa chỉ from là có ý nghĩa nhất.
Biên lai giao dịch AccountUpdate trên Klaytn được trình bày dưới dạng Biên lai giao dịch trên Ethereum như dưới đây.
⚠️ Trường này luôn có cùng địa chỉ với from vì trường này không tồn tại trong biên lai giao dịch Cancel trên Klaytn và việc đưa ra giá trị của trường này dưới dạng địa chỉ from là có ý nghĩa nhất.
Biên lai giao dịch Cancel trên Klaytn được trình bày dưới dạng Biên lai giao dịch trên Ethereum như dưới đây.