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)
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
blockNumber
blockNumber
từ
từ
gas
gas
giá gas
giá gas
hash
hash
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.
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.
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)
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
đến
đến
giá trị
giá trị
Giao dịch cũTransaction 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.
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ặ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)
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)
đến
đến
value(bỏ qua)
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 này luôn có giá trị là 0x0 vì Klaytn không có chế độ baseFeePerGas.
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.
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.
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.
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.
Trường này bị bỏ qua vì không tồn tại trong Tiêu đề của khối Ethereum.
Hàm băm của một khối.
Bộ lọc Bloom cho các bản ghi của khối. null khi đó là khối đang chờ xử lý.
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.
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.
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.
Số khối.
Hàm băm của khối cha mẹ.
gốc của trie biên lai trong khối.
Trường này bị bỏ qua vì không tồn tại trong Tiêu đề của khối Ethereum.
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.
Kích thước của khối này tính bằng đơn vị byte.
Gốc của trie trạng thái cuối trong khối.
Dấu thời gian unix khi khối được đối chiếu.
Trường này bị bỏ qua vì không tồn tại trong Tiêu đề của khối Ethereum.
Tổng độ khó của chuỗi cho đến khối truy vấn.
Gốc của trie giao dịch trong khối.
Trường này bị bỏ qua vì không tồn tại trong Khối Ethereum.
Trường này luôn có giá trị là [] vì không có khái niệm kỹ thuật về khối chú trong nhân Klaytn.
Mảng các đối tượng giao dịch hay các hàm băm giao dịch 32 byte phụ thuộc vào tham số cuối cùng đã cho.
Hàm băm của một khối.
Số khối.
Địa chỉ của người gửi.
Gas do người gửi cung cấp.
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ị.
Hàm băm của giao dịch.
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.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
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ý.
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.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
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.
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.
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.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Dữ liệu được gửi cùng với giao dịch.
Địa chỉ của người nhận. null nếu đó là giao dịch tạo hợp đồng.
Giá trị được chuyển bằng Peb.
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 ValueTransfer của Klaytn.
Địa chỉ của người nhận.
Giá trị được chuyển bằng Peb.
Dữ liệu được gửi cùng với giao dịch.
Địa chỉ của người nhận.
Giá trị được chuyển bằng Peb.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
Dữ liệu được gửi cùng với giao dịch.
Địa chỉ của người nhận. Trường này luôn có giá trị là null vì giao dịch này là giao dịch tạo hợp đồng.
Giá trị được chuyển bằng Peb.
Dữ liệu được gửi cùng với giao dịch.
Địa chỉ của hợp đồng thông minh.
Giá trị được chuyển bằng Peb.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
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.
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.
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.
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.
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.
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.
Dữ liệu được gửi cùng với giao dịch.
Trường này bị bỏ qua vì không tồn tại trong Giao dịch cũ Ethereum.
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.
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.
Hàm băm của một khối.
Số khối.
Đị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.
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.
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.
Địa chỉ của người gửi.
Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
lượng gas đã dùng trong riêng giao dịch cụ thể này.
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ảng bao gồm các đối tượng bản ghi do giao dịch tạo ra.
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.
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.
Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
1(thành công) hoặc 0(thất bại).
Hàm băm của giao dịch.
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ị 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.
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.
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.
Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
Địa chỉ của người nhận. null nếu đó là giao dịch tạo hợp đồng.
Trường này bị bỏ qua vì không tồn tại trong Biên lai giao dịch trên Ethereum.
Địa chỉ của người nhận.
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.
Địa chỉ của người nhận.
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.
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
Địa chỉ của người nhận. Trường này luôn có giá trị là null vì giao dịch này là giao dịch tạo hợp đồng.
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.
Địa chỉ của hợp đồng thông minh.
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.
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.
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.
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.
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 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.