>caver.utils.sha3('234'); // taken as string"0xc1912fee45d61c87cc5ea59dae311904cd86b84fee17cc96966216f811ce6a79">caver.utils.sha3(newBN('234')); // utils.sha3 stringify bignumber instance."0xc1912fee45d61c87cc5ea59dae311904cd86b84fee17cc96966216f811ce6a79">caver.utils.sha3(234);null// không tính được số có của một số>caver.utils.sha3(0xea); // giống như trên, chỉ là biểu diễn HEX của sốnull>caver.utils.sha3('0xea'); // sẽ được chuyển đổi thành một mảng byte trước, sau đó được hàm băm"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ố
Giá trị trả về
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(newBN('234')); // same as above"0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2">caver.utils.soliditySha3({type:'uint256', value:'234'})); // same as above"0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2">caver.utils.soliditySha3({t:'uint', v:newBN('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ố
Giá trị trả về
Ví dụ
>caver.utils.isHex('0xc1912');true>caver.utils.isHex(0xc1912);true>caver.utils.isHex('c1912');true>caver.utils.isHex(345);true// điều này rất khó, vì 345 có thể là biểu diễn HEX hoặc một số, hãy cẩn thận khi không có 0x ở phía trước!>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ó cần có HEX tiền tố 0x.
Tham số
Giá trị trả về
Ví dụ
>caver.utils.isHexStrict('0xc1912');true>caver.utils.isHexStrict(0xc1912);false>caver.utils.isHexStrict('c1912');false>caver.utils.isHexStrict(345);false// điều này rất khó, vì 345 có thể là biểu diễn HEX hoặc một số, hãy cẩn thận khi không có 0x ở phía trước!>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ố
Giá trị trả về
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// tổng kiểm tra sai
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ố
Giá trị trả về
Ví dụ
>caver.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d');"0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d">caver.utils.toChecksumAddress('0XC1912FEE45D61C87CC5EA59DAE31190FFFFF232D');"0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d"// giống như trên
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.
Chuyển đổi giá trị đã cho bất kỳ thành HEX. 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ố
Giá trị trả về
Ví dụ
>caver.utils.toHex('234');"0xea">caver.utils.toHex(234);"0xea">caver.utils.toHex(newBN('234'));"0xea">caver.utils.toHex(newBigNumber('234'));"0xea">caver.utils.toHex('I have 100€');"0x49206861766520313030e282ac"
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./a>) thành BN.js để xử lý các số lớn trong JavaScript.