caver.utils
caver.utils
cung cấp các chức năng tiện ích.
randomHex
caver.utils.randomHex(size)
Thư viện randomHex để tạo các chuỗi số HEX giả ngẫu nhiên được mã hóa mạnh mẽ từ một kích thước byte nhất định.
Tham số
Tên | type | Mô tả |
---|---|---|
size | số | Kích thước byte cho chuỗi số HEX, ví dụ:: 32 sẽ dẫn đến chuỗi số HEX 32 byte có 64 ký tự bắt đầu bằng "0x". |
Giá trị trả về
type | Mô tả |
---|---|
chuỗi | Chuỗi số HEX ngẫu nhiên được tạo. |
Ví dụ
> caver.utils.randomHex(32)'0x861b56754dba7769f9740c3ad70b4694aa24d604c1dba3bac7ec45978927b8de'> caver.utils.randomHex(4)'0x5641d6ce'> caver.utils.randomHex(2)'0xf058'> caver.utils.randomHex(1)'0x7c'> caver.utils.randomHex(0)'0x'
_
caver.utils._()
Thư viện underscore dành cho nhiều hàm JavaScript thuận tiện.
Xem tham chiếu API underscore để biết chi tiết.
Ví dụ
> var _ = caver.utils._> _.union([1,2],[3])[1,2,3]> _.each({my: 'object'}, function(value, key){ ... })...
toBN
caver.utils.toBN(number)
Chuyển đổi một cách an toàn mọi giá trị đã cho (bao gồm đối tượng BigNumber.js) thành BN.js để xử lý các số lớn trong JavaScript.
Tham số
Tên | type | Mô tả |
---|---|---|
number | chuỗi | số | số để chuyển đổi thành một số lớn. |
Giá trị trả về
Loại | Mô tả |
---|---|
Đối tượng | Phiên bản BN.js. |
Ví dụ
> caver.utils.toBN(1234).toString()'1234'> caver.utils.toBN('1234').add(caver.utils.toBN('1')).toString()'1235'> caver.utils.toBN('0xea').toString()'234'
isBN
caver.utils.isBN(bn)
Kiểm tra xem một giá trị đã cho có phải là phiên bản BN.js hay không.
Tham số
Tên | Loại | Mô tả |
---|---|---|
bn | đối tượng | Một phiên bản BN.js. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nếu giá trị đã cho là phiên bản BN.js. |
Ví dụ
> var number = new caver.utils.BN(10)> caver.utils.isBN(number)true
isBigNumber
caver.utils.isBigNumber(bignumber)
Kiểm tra xem một giá trị đã cho có phải là phiên bản BigNumber.js hay không..
Tham số
Tên | Loại | Mô tả |
---|---|---|
bignumber | đối tượng | Một phiên bản BigNumber.js. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nếu giá trị đã cho là đối tượng BigNumber.js . |
Ví dụ
> var number = new caver.utils.BigNumber(10)> caver.utils.isBigNumber(number)true
sha3
caver.utils.sha3(str)caver.utils.keccak256(str) // ALIAS
Tính toán sha3 của giá trị đầu vào.
LƯU Ý: Để bắt chước hành vi sha3 của việc sử dụng Solidity caver.utils.soliditySha3.
Tham số
Tên | Loại | Mô tả |
---|---|---|
str | chuỗi | Một chuỗi thành hàm băm. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Hàm băm kết quả. |
Ví dụ
> caver.utils.sha3('234') // taken as string'0xc1912fee45d61c87cc5ea59dae311904cd86b84fee17cc96966216f811ce6a79'> caver.utils.sha3(new caver.utils.BN('234')) // utils.sha3 stringify bignumber instance.'0xc1912fee45d61c87cc5ea59dae311904cd86b84fee17cc96966216f811ce6a79'> caver.utils.sha3(234)null // can't calculate the has of a number> caver.utils.sha3(0xea) // same as above, just the HEX representation of the numbernull> caver.utils.sha3('0xea') // will be converted to a byte array first, and then hashed'0x2f20677459120677484f7104c76deb6846a2c071f9b3152c103bb12cd54d1a4a'
soliditySha3
caver.utils.soliditySha3(param1 [, param2, ...])
Tính toán sha3 của các tham số đầu vào đã cho theo cách tương tự như solidity. Điều này có nghĩa các đối số sẽ được chuyển đổi thành ABI và đóng gói chặt chẽ trước khi đưa vào hàm băm.
Tham số
Tên | Loại | Mô tả |
---|---|---|
paramX | Hỗn hợp | Bất kỳ loại hoặc đối tượng nào có |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Hàm băm kết quả. |
Ví dụ
> caver.utils.soliditySha3('234564535', '0xfff23243', true, -10)// auto detects: uint256, bytes, bool, int256'0x3e27a893dc40ef8a7f0841d96639de2f58a132be5ae466d40087a2cfa83b7179'> caver.utils.soliditySha3('Hello!%') // auto detects: string'0x661136a4267dba9ccdf6bfddb7c00e714de936674c4bdb065a531cf1cb15c7fc'> caver.utils.soliditySha3('234') // auto detects: uint256'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'> caver.utils.soliditySha3(0xea) // same as above'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'> caver.utils.soliditySha3(new caver.utils.BN('234')) // same as above'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'> caver.utils.soliditySha3({type: 'uint256', value: '234'})) // same as above'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'> caver.utils.soliditySha3({t: 'uint', v: new caver.utils.BN('234')})) // same as above'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'> caver.utils.soliditySha3('0x407D73d8a49eeb85D32Cf465507dd71d507100c1')'0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b'> caver.utils.soliditySha3({t: 'bytes', v: '0x407D73d8a49eeb85D32Cf465507dd71d507100c1'})'0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b' // same result as above> caver.utils.soliditySha3({t: 'address', v: '0x407D73d8a49eeb85D32Cf465507dd71d507100c1'})'0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b' // same as above, but will do a checksum check, if its multi case> caver.utils.soliditySha3({t: 'bytes32', v: '0x407D73d8a49eeb85D32Cf465507dd71d507100c1'})'0x3c69a194aaf415ba5d6afca734660d0a3d45acdc05d54cd1ca89a8988e7625b4' // different result as above> caver.utils.soliditySha3({t: 'string', v: 'Hello!%'}, {t: 'int8', v:-23}, {t: 'address', v: '0x85F43D8a49eeB85d32Cf465507DD71d507100C1d'})'0xa13b31627c1ed7aaded5aecec71baf02fe123797fffd45e662eac8e06fbe4955'
isHex
caver.utils.isHex(hex)
Kiểm tra xem một chuỗi đã cho có phải là chuỗi số HEX hay không.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hex | chuỗi | Chuỗi số HEX đã cho. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nếu tham số đã cho là chuỗi số HEX. |
Ví dụ
> caver.utils.isHex('0xc1912')true> caver.utils.isHex('c1912')true> caver.utils.isHex('0xZ1912')false> caver.utils.isHex('Hello')false
isHexStrict
caver.utils.isHexStrict(hex)
Kiểm tra xem một chuỗi đã cho có phải là chuỗi số HEX hay không. Sự khác biệt đối với caver.utils.isHex là nó cho là HEX có tiền tố là 0x
.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hex | chuỗi | Chuỗi số HEX đã cho. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nếu một chuỗi đã cho là một chuỗi số HEX. |
Ví dụ
> caver.utils.isHexStrict('0xc1912')true> caver.utils.isHexStrict('c1912')false> caver.utils.isHexStrict('0xZ1912')false> caver.utils.isHex('Hello')false
isAddress
caver.utils.isAddress(address)
Kiểm tra xem chuỗi đã cho có phải là địa chỉ Klaytn hợp lệ hay không. Nó cũng sẽ kiểm tra giá trị tổng kiểm nếu địa chỉ có chữ hoa và chữ thường.
Tham số
Tên | type | Mô tả |
---|---|---|
address | chuỗi | Một chuỗi địa chỉ. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nếu chuỗi đã cho là địa chỉ Klaytn hợp lệ. |
Ví dụ
> caver.utils.isAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d')true> caver.utils.isAddress('c1912fee45d61c87cc5ea59dae31190fffff232d')true> caver.utils.isAddress('0XC1912FEE45D61C87CC5EA59DAE31190FFFFF232D')true // as all is uppercase, no checksum will be checked> caver.utils.isAddress('0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d')true> caver.utils.isAddress('0xC1912fEE45d61C87Cc5EA59DaE31190FFFFf232d')false // wrong checksum
toChecksumAddress
caver.utils.toChecksumAddress(address)
Chuyển đổi địa chỉ Klaytn viết hoa hoặc viết thường thành địa chỉ giá trị tổng kiểm.
Tham số
Tên | Loại | Mô tả |
---|---|---|
address | chuỗi | Một chuỗi địa chỉ. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Địa chỉ giá trị tổng kiểm. |
Ví dụ
> caver.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d')'0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d'> caver.utils.toChecksumAddress('0XC1912FEE45D61C87CC5EA59DAE31190FFFFF232D')'0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d' // same as above
checkAddressChecksum
caver.utils.checkAddressChecksum(address)
Kiểm tra giá trị tổng kiểm của một địa chỉ đã cho. Trả về false
trên các địa chỉ không phải là giá trị tổng kiểm.
Tham số
Tên | Loại | Mô tả |
---|---|---|
address | chuỗi | Một chuỗi địa chỉ. |
Giá trị trả về
type | Mô tả |
---|---|
boolean | true khi giá trị tổng kiểm của địa chỉ hợp lệ, false nếu đó không phải là địa chỉ giá trị tổng kiểm hoặc giá trị tổng kiểm không hợp lệ. |
Ví dụ
> caver.utils.checkAddressChecksum('0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d')true
toHex
caver.utils.toHex(mixed)
Chuyển đổi giá trị đã cho bất kỳ thành HEX. Các chuỗi số sẽ được hiểu là số. Chuỗi văn bản sẽ được hiểu là chuỗi UTF-8.
Tham số
Tên | Loại | Mô tả |
---|---|---|
mixed | chuỗi | số | BN | BigNumber | Đầu vào để chuyển đổi sang HEX. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi số HEX kết quả. |
Ví dụ
> caver.utils.toHex('234')'0xea'> caver.utils.toHex(234)'0xea'> caver.utils.toHex(new caver.utils.BN('234'))'0xea'> caver.utils.toHex(new caver.utils.BigNumber('234'))'0xea'> caver.utils.toHex('I have 100€')'0x49206861766520313030e282ac'
hexToNumberString
caver.utils.hexToNumberString(hex)
Trả về biểu diễn số của một giá trị HEX nhất định dưới dạng chuỗi.
Tham số
Tên | type | Mô tả |
---|---|---|
hexstring | chuỗi | Một chuỗi số HEX được chuyển đổi. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Số dưới dạng chuỗi. |
Ví dụ
> caver.utils.hexToNumberString('0xea')"234"
hexToNumber
caver.utils.hexToNumber(hex)
Trả về biểu diễn số của một giá trị HEX đã cho.
LƯU Ý: Hàm này không hiệu quả với các số lớn, thay vào đó hãy sử dụng caver.utils.toBN.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hexstring | chuỗi | Một chuỗi số HEX được chuyển đổi. |
Giá trị trả về
Loại | Mô tả |
---|---|
số | Biểu diễn số của một giá trị HEX đã cho. |
Ví dụ
> caver.utils.hexToNumber('0xea')234
numberToHex
caver.utils.numberToHex(number)
Trả về biểu diễn HEX của một giá trị số đã cho.
Tham số
Tên | Loại | Mô tả |
---|---|---|
number | chuỗi | số | BN | BigNumber | Một số dưới dạng chuỗi hoặc số. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Giá trị HEX của số đã cho. |
Ví dụ
> caver.utils.numberToHex('234')'0xea'
hexToUtf8
caver.utils.hexToUtf8(hex)caver.utils.hexToString(hex) // ALIAS
Trả về biểu diễn chuỗi UTF-8 của một giá trị HEX đã cho.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hex | chuỗi | Chuỗi số HEX để chuyển đổi thành chuỗi UTF-8. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi UTF-8. |
Ví dụ
> caver.utils.hexToUtf8('0x49206861766520313030e282ac')'I have 100€'
hexToAscii
caver.utils.hexToAscii(hex)
Trả về biểu diễn chuỗi ASCII của một giá trị HEX đã cho.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hex | chuỗi | Một chuỗi số HEX để chuyển đổi thành một chuỗi ASCII. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi ASCII. |
Ví dụ
> caver.utils.hexToAscii('0x4920686176652031303021')'I have 100!'
utf8ToHex
caver.utils.utf8ToHex(str)caver.utils.stringToHex(str) // ALIAS
Trả về biểu diễn HEX của một chuỗi UTF-8 đã cho.
Tham số
Tên | Loại | Mô tả |
---|---|---|
str | chuỗi | Chuỗi UTF-8 để chuyển đổi thành chuỗi số HEX. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi số HEX. |
Ví dụ
> caver.utils.utf8ToHex('I have 100€')'0x49206861766520313030e282ac'
asciiToHex
caver.utils.asciiToHex(str)
Trả về biểu diễn HEX của một chuỗi ASCII đã cho.
Tham số
Tên | Loại | Mô tả |
---|---|---|
str | chuỗi | Một chuỗi ASCII để chuyển đổi thành chuỗi số HEX. |
Giá trị trả về
type | Mô tả |
---|---|
chuỗi | Chuỗi số HEX. |
Ví dụ
> caver.utils.asciiToHex('I have 100!')'0x4920686176652031303021'
hexToBytes
caver.utils.hexToBytes(hex)
Trả về một mảng byte từ chuỗi số HEX đã cho.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hex | chuỗi | Một chuỗi số HEX được chuyển đổi. |
Giá trị trả về
Loại | Mô tả |
---|---|
Mảng | Mảng byte. |
Ví dụ
> caver.utils.hexToBytes('0x000000ea')[ 0, 0, 0, 234 ]
bytesToHex
caver.utils.bytesToHex(byteArray)
Tr ả về một chuỗi số HEX từ một mảng byte.
Tham số
Tên | type | Mô tả |
---|---|---|
byteArray | Mảng | Một mảng byte để chuyển đổi. |
Giá trị trả về
type | Mô tả |
---|---|
chuỗi | Chuỗi số HEX. |
Ví dụ
> caver.utils.bytesToHex([ 72, 101, 108, 108, 111, 33, 36 ])'0x48656c6c6f2124'
convertToPeb
caver.utils.convertToPeb(number [, unit])
Chuyển đổi giá trị KLAY bất kỳ thành peb.
LƯU Ý: "peb" là đơn vị KLAY nhỏ nhất và bạn phải luôn sử dụng "peb" làm đơn vị của KLAY. Chỉ chuyển đổi thành "KLAY" phục vụ mục đích hiển thị.
Tham số
Tên | Loại | Mô tả |
---|---|---|
number | chuỗi | s ố | BN | Giá trị. |
đơn vị | chuỗi | (tùy chọn, mặc định là |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | BN | Nếu tham số số là một đối tượng BN thì nó trả về một đối tượng BN, nếu không thì sẽ trả về một chuỗi. |
Ví dụ
> caver.utils.convertToPeb('1', 'KLAY')'1000000000000000000'> caver.utils.convertToPeb(caver.utils.toBN(1), 'KLAY')<BN: de0b6b3a7640000>
convertFromPeb
caver.utils.convertFromPeb(number [, unit])
LƯU Ý: "peb" là đơn vị KLAY nhỏ nhất và bạn phải luôn sử dụng "peb" làm đơn vị của KLAY. Chỉ chuyển đổi thành "KLAY" phục vụ mục đích hiển thị.
Tham số
Tên | Loại | Mô tả |
---|---|---|
number | chuỗi | số | BN | BigNumber | Giá trị tính bằng peb. |
đơn vị | chuỗi | (tùy chọn, mặc định là |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Số chuỗi. |
Ví dụ
> caver.utils.convertFromPeb('1', 'KLAY')'0.000000000000000001'
unitMap
caver.utils.unitMap
Hiển thị tất cả các giá trị KLAY có thể có và số lượng của chúng tính bằng peb.
Giá trị trả về
Loại | Mô tả |
---|---|
Đối tượng | Với các thuộc tính sau: |
Ví dụ
> caver.utils.unitMap{ peb: '1', kpeb: '1000', Mpeb: '1000000', Gpeb: '1000000000', Ston: '1000000000', uKLAY: '1000000000000', mKLAY: '1000000000000000', KLAY: '1000000000000000000', kKLAY: '1000000000000000000000', MKLAY: '1000000000000000000000000', GKLAY: '1000000000000000000000000000', TKLAY: '1000000000000000000000000000000'}
klayUnit
caver.utils.klayUnit
Hiển thị tất cả các đơn vị KLAY.
Giá trị trả về
Loại | Mô tả |
---|---|
Đối tượng | Một đối tượng trong đó các đơn vị của KLAY được sử dụng trong Klaytn được xác định. Mỗi đơn vị có tên và pebFactor riêng. pebFactor được sử dụng khi chuyển đổi KLAY hiện được chuyển trong mỗi đơn vị thành 'peb'. |
Ví dụ
> caver.utils.klayUnit{ peb: { unit: 'peb', pebFactor: 0 }, kpeb: { unit: 'kpeb', pebFactor: 3 }, Mpeb: { unit: 'Mpeb', pebFactor: 6 }, Gpeb: { unit: 'Gpeb', pebFactor: 9 }, ston: { unit: 'ston', pebFactor: 9 }, uKLAY: { unit: 'uKLAY', pebFactor: 12 }, mKLAY: { unit: 'mKLAY', pebFactor: 15 }, KLAY: { unit: 'KLAY', pebFactor: 18 }, kKLAY: { unit: 'kKLAY', pebFactor: 21 }, MKLAY: { unit: 'MKLAY', pebFactor: 24 }, GKLAY: { unit: 'GKLAY', pebFactor: 27 }, TKLAY: { unit: 'TKLAY', pebFactor: 30 }}
padLeft
caver.utils.padLeft(string, characterAmount [, sign])caver.utils.leftPad(string, characterAmount [, sign]) // ALIAS
Thêm khoảng trống vào bên trái của một chuỗi. Hữu ích khi thêm phần đệm vào chuỗi số HEX.
Tham số
Tên | Loại | Mô tả |
---|---|---|
string | chuỗi | Chuỗi để thêm phần đệm vào bên trái. |
characterAmount | số | Số lượng ký tự mà tổng chuỗi phải có. |
sign | chuỗi | (tùy chọn) Dấu hiệu ký tự để sử dụng, mặc định là 0 . |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi đệm. |
Ví dụ
> caver.utils.padLeft('0x3456ff', 20)'0x000000000000003456ff'> caver.utils.padLeft(0x3456ff, 20)'0x000000000000003456ff'> caver.utils.padLeft('Hello', 20, 'x')'xxxxxxxxxxxxxxxHello'
padRight
caver.utils.padRight(str, characterAmount [, sign])caver.utils.rightPad(str, characterAmount [, sign]) // ALIAS
Thêm khoảng trống vào bên phải của chuỗi, Hữu ích khi thêm phần đệm vào chuỗi số HEX.
Tham số
Tên | Loại | Mô tả |
---|---|---|
str | chuỗi | Chuỗi để thêm phần đệm vào bên phải. |
characterAmount | số | Số lượng ký tự mà tổng chuỗi phải có. |
sign | chuỗi | (tùy chọn) Dấu hiệu ký tự để sử dụng, mặc định là 0 . |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi đệm. |
Ví dụ
> caver.utils.padRight('0x3456ff', 20)'0x3456ff00000000000000'> caver.utils.padRight(0x3456ff, 20)'0x3456ff00000000000000'> caver.utils.padRight('Hello', 20, 'x')'Helloxxxxxxxxxxxxxxx'
trimLeadingZero
caver.utils.trimLeadingZero(hexString)
Xóa số 0 đứng đầu khỏi chuỗi số hex có tiền tố 0x.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hexString | chuỗi | Một chuỗi số hex để cắt. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Một chuỗi số hex không có số 0 đứng đầu. |
Ví dụ
> caver.utils.trimLeadingZero('0x000011')0x11
makeEven
caver.utils.makeEven(hexString)
Trả về một chuỗi có độ dài chẵn.
Tham số
Tên | Loại | Mô tả |
---|---|---|
hexString | chuỗi | Một chuỗi số hex để tạo số chẵn. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Một chuỗi có độ dài chẵn. |
Ví dụ
> caver.utils.makeEven('0x011')0x0011
toTwosComplement
caver.utils.toTwosComplement(num)
Chuyển đổi một số âm thành phần bù hai.
Tham số
Tên | Loại | Mô tả |
---|---|---|
num | số | chuỗi | BigNumber | Số để chuyển đổi. |
Giá trị trả về
Loại | Mô tả |
---|---|
chuỗi | Chuỗi số hex đã chuyển đổi. |
Ví dụ
> caver.utils.toTwosComplement('-1')'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'> caver.utils.toTwosComplement(-1)'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'> caver.utils.toTwosComplement('0x1')'0x0000000000000000000000000000000000000000000000000000000000000001'> caver.utils.toTwosComplement(-15)'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1'> caver.utils.toTwosComplement('-0x1')'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
isContractDeployment
caver.utils.isContractDeployment(transactionObject)
Trả về true
nếu giao dịch đã cho là giao dịch triển khai hợp đồng thông minh. Trả về false
nếu giao dịch không phải là giao dịch triển khai hợp đồng thông minh. Kết quả được xác định bởi giá trị của các tham số trong transactionObject
. Đảm bảo tất cả các tham số bắt buộc được đặt chính xác.
Tham số
Tên | Loại | Mô tả |
---|---|---|
transactionObject | đối t ượng | Đối tượng Giao dịch để kiểm tra giao dịch triển khai hợp đồng hay không. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nghĩa là đối tượng giao dịch dùng cho việc triển khai hợp đồng thông minh. |
Ví dụ
> caver.utils.isContractDeployment(caver.transaction.legacyTransaction.create({ to: '0x9957dfd92e4b70f91131c573293343bc5f21f215', value: caver.utils.toPeb(1, 'KLAY'), gas: 25000,}))false> caver.utils.isContractDeployment(caver.transaction.legacyTransaction.create({ input: '0x608060405234801561001057600080fd5b506101de806100206000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a39d8ef81146100805780636353586b146100a757806370a08231146100ca578063fd6b7ef8146100f8575b3360009081526001602052604081208054349081019091558154019055005b34801561008c57600080fd5b5061009561010d565b60408051918252519081900360200190f35b6100c873ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100d657600080fd5b5061009573ffffffffffffffffffffffffffffffffffffffff60043516610147565b34801561010457600080fd5b506100c8610159565b60005481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081208054349081019091558154019055565b60016020526000908152604090205481565b336000908152600160205260408120805490829055908111156101af57604051339082156108fc029083906000818181858888f193505050501561019c576101af565b3360009081526001602052604090208190555b505600a165627a7a72305820627ca46bb09478a015762806cc00c431230501118c7c26c30ac58c4e09e51c4f0029', gas: 200000,}))true> caver.utils.isContractDeployment(caver.transaction.smartContractDeploy.create({ from: '0x88e245dec96830f012f8fc1806bc623b3774560d', input: '0x608060405234801561001057600080fd5b506101de806100206000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a39d8ef81146100805780636353586b146100a757806370a08231146100ca578063fd6b7ef8146100f8575b3360009081526001602052604081208054349081019091558154019055005b34801561008c57600080fd5b5061009561010d565b60408051918252519081900360200190f35b6100c873ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100d657600080fd5b5061009573ffffffffffffffffffffffffffffffffffffffff60043516610147565b34801561010457600080fd5b506100c8610159565b60005481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081208054349081019091558154019055565b60016020526000908152604090205481565b336000908152600160205260408120805490829055908111156101af57604051339082156108fc029083906000818181858888f193505050501561019c576101af565b3360009081526001602052604090208190555b505600a165627a7a72305820627ca46bb09478a015762806cc00c431230501118c7c26c30ac58c4e09e51c4f0029', gas: 100000,}))true> caver.utils.isContractDeployment(caver.transaction.feeDelegatedSmartContractDeploy.create({ from: '0x88e245dec96830f012f8fc1806bc623b3774560d', input: '0x608060405234801561001057600080fd5b506101de806100206000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a39d8ef81146100805780636353586b146100a757806370a08231146100ca578063fd6b7ef8146100f8575b3360009081526001602052604081208054349081019091558154019055005b34801561008c57600080fd5b5061009561010d565b60408051918252519081900360200190f35b6100c873ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100d657600080fd5b5061009573ffffffffffffffffffffffffffffffffffffffff60043516610147565b34801561010457600080fd5b506100c8610159565b60005481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081208054349081019091558154019055565b60016020526000908152604090205481565b336000908152600160205260408120805490829055908111156101af57604051339082156108fc029083906000818181858888f193505050501561019c576101af565b3360009081526001602052604090208190555b505600a165627a7a72305820627ca46bb09478a015762806cc00c431230501118c7c26c30ac58c4e09e51c4f0029', gas: 100000,}))true> caver.utils.isContractDeployment(caver.transaction.feeDelegatedSmartContractDeployWithRatio.create({ from: '0x88e245dec96830f012f8fc1806bc623b3774560d', input: '0x608060405234801561001057600080fd5b506101de806100206000396000f3006080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a39d8ef81146100805780636353586b146100a757806370a08231146100ca578063fd6b7ef8146100f8575b3360009081526001602052604081208054349081019091558154019055005b34801561008c57600080fd5b5061009561010d565b60408051918252519081900360200190f35b6100c873ffffffffffffffffffffffffffffffffffffffff60043516610113565b005b3480156100d657600080fd5b5061009573ffffffffffffffffffffffffffffffffffffffff60043516610147565b34801561010457600080fd5b506100c8610159565b60005481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081208054349081019091558154019055565b60016020526000908152604090205481565b336000908152600160205260408120805490829055908111156101af57604051339082156108fc029083906000818181858888f193505050501561019c576101af565b3360009081526001602052604090208190555b505600a165627a7a72305820627ca46bb09478a015762806cc00c431230501118c7c26c30ac58c4e09e51c4f0029', gas: 100000, feeRatio: 30,}))true
xyPointFromPublicKey
caver.utils.xyPointFromPublicKey(publicKey)
Trả về tọa độ x và y của publicKey đã cho. Để biết thêm thông tin về mật mã khóa, xem Mật mã đường cong Elliptic.
LƯU Ý Hàm này không chứa bất kỳ logic nào để kiểm tra xem khóa công khai có hợp lệ hay không. Hàm chỉ chia publicKey đầu vào thành các điểm x và y theo độ dài. Để xác thực khóa công khai, vui lòng sử dụng isValidPublicKey.
Tham số
Tên | Loại | Mô tả |
---|---|---|
publicKey | chuỗi | PublicKey để nhận điểm x và y. |
Giá trị trả về
Loại | Mô tả |
---|---|
Mảng | Một mảng lưu trữ các điểm x và y. Chỉ mục 0 có điểm x và chỉ mục 1 có điểm y. |
Ví dụ
> caver.utils.xyPointFromPublicKey('0xa5862ded55cd9c7e9ff246dbc264ca5d5c605308f59b74e581b4f089d4c8c88cb9f00df6a56493f6029af215d266c907660ea0f7a4111ea025ea9d9be418fa55')[ '0xa5862ded55cd9c7e9ff246dbc264ca5d5c605308f59b74e581b4f089d4c8c88c', '0xb9f00df6a56493f6029af215d266c907660ea0f7a4111ea025ea9d9be418fa55']
isHexPrefixed
caver.utils.isHexPrefixed(input)
Trả về true
nếu đầu vào là chuỗi số hex có tiền tố 0x, nếu không nó sẽ trả về false
.
Tham số
Tên | Loại | Mô tả |
---|---|---|
nhập | chuỗi | Giá trị được xác định xem tham số có phải là chuỗi số hex có tiền tố 0x hay không. |
Giá trị trả về
Loại | Mô tả |
---|---|
boolean | true nghĩa là đầu vào là chuỗi số hex có tiền tố 0x. |
Ví dụ
> caver.utils.isHexPrefixed('0xa5b0cd8c87e77879d64cc064ee239ed6f71cacf9')true> caver.utils.isHexPrefixed('0x1')true> caver.utils.isHexPrefixed('0xqwer')false> caver.utils.isHexPrefixed('1')false