> var number = new caver.utils.BN(10)
> caver.utils.isBN(number)
true
isBigNumber
caver.utils.isBigNumber(bignumber)
Parameters
Name
Type
Description
bignumber
object
Return Value
Type
Description
boolean
주어진 값이 BigNumber.js 인스턴스인 경우 true.
Example
> var number = new caver.utils.BigNumber(10)
> caver.utils.isBigNumber(number)
true
sha3
caver.utils.sha3(str)
caver.utils.keccak256(str) // ALIAS
입력의 sha3을 계산합니다.
Parameters
Name
Type
Description
str
string
해시할 문자열.
Return Value
Type
Description
string
결과 해시.
Example
> 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 number
null
> caver.utils.sha3('0xea') // will be converted to a byte array first, and then hashed
'0x2f20677459120677484f7104c76deb6846a2c071f9b3152c103bb12cd54d1a4a'
soliditySha3
caver.utils.soliditySha3(param1 [, param2, ...])
솔리디티와 같은 방식으로 주어진 입력 매개변수의 sha3를 계산합니다. 이는 인자가 해시되기 전에 ABI 변환되고 빽빽히 채워질 것을 의미합니다.
Parameters
Name
Type
Description
paramX
Mixed
Any type, or an object with {type: 'uint', value: '123456'} or {t: 'bytes', v: '0xfff456'}. Basic types are autodetected as follows:
- string non numerical UTF-8 string is interpreted as string.
- `string
Return Value
Type
Description
string
The result hash.
Example
> 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'
주어진 문자열이 유효한 Klaytn 주소인지 확인합니다. 주소에 대문자와 소문자가 있으면 체크섬(checksum) 도 검사합니다.
Parameters
Name
Type
Description
address
string
주소 문자열.
Return Value
Type
Description
boolean
주어진 문자열이 유효한 Klaytn 주소라면 true.
Examples
> 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)
대문자 또는 소문자 Klaytn 주소를 체크섬(Checksum) 주소로 변환합니다.
Parameters
Name
Type
Description
address
string
An address string.
Return Value
Type
Description
string
체크섬(Checksum) 주소.
Examples
> caver.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d')
'0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d'
> caver.utils.toChecksumAddress('0XC1912FEE45D61C87CC5EA59DAE31190FFFFF232D')
'0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d' // same as above
checkAddressChecksum
caver.utils.checkAddressChecksum(address)
주어진 주소의 체크섬(Checksum)을 확인합니다. 또한 체크섬이 아닌 주소에서 false를 반환합니다.
주어진 트랜잭션이 스마트 컨트랙트 배포 트랜잭션인 경우 true를 반환합니다. 주어진 트랜잭션이 스마트 컨트랙트 배포 트랜잭션이 아닌 경우 false를 반환합니다. 결과는 transactionObject의 매개변수 값에 의해 결정됩니다. 모든 필수 매개변수가 올바르게 설정되었는지 확인하세요.
Returns true if sig is in the format of empty signature (SignatureData { _v: '0x01', _r: '0x', _s: '0x' } or [SignatureData { _v: '0x01', _r: '0x', _s: '0x' }]), otherwise it returns false.
In caver-js, if signatures or feePayerSignatures is empty, the value representing an empty signature, [SignatureData { _v: '0x01', _r: '0x', _s: '0x' }], is returned for the property. This function is used to check whether the given signature is [SignatureData { _v: '0x01', _r: '0x', _s: '0x' }] (or SignatureData { _v: '0x01', _r: '0x', _s: '0x' } in the 'LEGACY' transaction).
(optional, default: false) If the last parameter is true, the given message will NOT automatically be prefixed with "\x19Klaytn Signed Message:\n" + message.length + message, and will be assumed to be already prefixed.
Recovers the public key that was used to sign the given data.
Parameters
Name
Type
Description
message
string
Either message or hashed message.
signature
object \
Array
isHashed
boolean
(optional, default: false) Whether the message passed as a parameter is hashed with the prefix "\x19Klaytn Signed Message:\n" + message.length + message.
Returns an address derived from a public key. This function simply converts the public key string into an address form by hashing it. It has nothing to do with an actual account on Klaytn.
자바스크립트에서 큰 숫자를 처리하기 위해(를 포함해) 주어진 값을 인스턴스로 안전하게 변환합니다.
인스턴스.
주어진 값이 인스턴스인지 확인합니다.
인스턴스.
주어진 값이 인스턴스인 경우 true.
주어진 값이 인스턴스인지 확인합니다.
인스턴스.
참고: 솔리디티의 sha3를 모방하려면 를 사용합니다.
Checks if a given string is a HEX string. 와의 차이점은 HEX 앞에 0x이 붙는다는 것입니다.
참고: 큰 숫자에는 유용하지 않으며, 를 대신 사용합니다.
An instance of to check contract deploy transaction or not.
주어진 공개키의 x와 y 좌표를 반환합니다. For more information on key cryptography, see .
참고 이 함수에는 공개키가 유효한지 확인하는 로직이 없습니다. 이 함수는 단지 입력한 공개키를 길이에 따라 x와 y 좌표로만 나눕니다. To validate public key, please use .
참고 caver.klay.stripHexPrefix는 v1.0.1에서 지원됩니다. 이 기능을 사용하려면 또는 그 이상을 설치하세요.
이 함수는 입력을 로 변환합니다. To convert an object into a Buffer using toBuffer, the object must implement toArray function. For string type input, this function only works with a 0x-prefixed hex string.
NOTEBigNumber type is supported since caver-js .
이 함수는 숫자를 로 변환합니다. The has the same behavior as this function when the input is a number.
Returns true if the input is in 0x-prefixed 32-bytes hash format, otherwise it returns false. This function only looks at the input and determines if it is in the format of 0x-prefixed 32-bytes hash. Difference to is that it expects HEX to be prefixed with 0x.
NOTE This function has been deprecated. Use to determine if a valid hash is 32 bytes long.
Returns true if the input is in transaction hash format, otherwise it returns false. This function only looks at the input and determines if it is in the format of a transaction hash. Difference to is that it expects HEX to be prefixed with 0x.
NOTE This function has been deprecated. Use to determine if a valid hash is 32 bytes long.
Returns true if key is in format, otherwise it returns false.
Parses string to an array which includes "private key", "type", "address".
A string.
NOTEcaver.utils.recoverPublicKey is supported since caver-js .
NOTEcaver.utils.publicKeyToAddress is supported since caver-js .
NOTEcaver.utils.decodeSignature is supported since caver-js .