本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

ケイバーユーティル

caver.utils はユーティリティ関数を提供する。

ランダムヘクス


caver.utils.randomHex(サイズ)

randomHex](https://github.com/frozeman/randomHex) は、与えられたバイトサイズから暗号的に強力な擬似ランダムHEX文字列を生成するライブラリです。

パラメーター

名称タイプ説明
サイズ番号HEX文字列のバイトサイズは、e.., 32 とすると、"0x "を先頭に持つ64文字の32バイトのHEX文字列になる。

リターン・バリュー

タイプ説明
ストリング生成されたランダムなHEX文字列。


> 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._()

アンダースコア](http://underscorejs.org) ライブラリには、便利なJavaScript関数がたくさんあります。

詳しくはunderscore API referenceを参照。


> var _ = caver.utils._
> _.union([1,2],[3])
[1,2,3]
> _.each({my: 'object'}, function(value, key){ ... })
...

toBN


caver.utils.toBN(number)

JavaScriptで大きな数を扱うために、与えられた値(BigNumber.js インスタンスを含む)を BN.js インスタンスに安全に変換します。

パラメーター

名称タイプ説明
番号number \を大きな数字に変換する。

リターン・バリュー

タイプ説明
対象BN.js](https://github.com/indutny/bn.js/)のインスタンス。


>
'1234'
> caver.utils.toBN('1234').add(caver.utils.toBN('1')).toString()
'1235'
> caver.utils.toBN('0xea').toString()
'234'

イズビーエヌ


caver.utils.isBN(bn)

与えられた値がBN.jsのインスタンスかどうかをチェックする。

パラメーター

名称タイプ説明
bnオブジェクトBN.js](https://github.com/indutny/bn.js/)のインスタンス。

リターン・バリュー

タイプ説明
ブーリアン与えられた値が BN.js インスタンスであれば true となる。


> var number = new caver.utils.BN(10)
> caver.utils.isBN(number)
true

isBigNumber


caver.utils.isBigNumber(bignumber)

与えられた値が BigNumber.js インスタンスであるかどうかをチェックします。

パラメーター

名称タイプ説明
ビグナンバーオブジェクトBigNumber.js](http://mikemcl.github.io/bignumber.js/) インスタンス。

リターン・バリュー

タイプ説明
ブーリアン与えられた値が BigNumber.js インスタンスであれば true を返す。


> var number = new caver.utils.BigNumber(10)
> caver.utils.isBigNumber(number)
true

シャ3


caver.utils.sha3(str)
caver.utils.keccak256(str) // ALIAS

入力の sha3 を計算する。

:Solidityのsha3動作を模倣するには、caver.utils.soliditySha3 を使用します。

パラメーター

名称タイプ説明
ストストリングハッシュする文字列。

リターン・バリュー

タイプ説明
ストリング結果はハッシュ。


> caver.utils.sha3('234') // 文字列として取得
'0xc1912fee45d61c87cc5ea59dae311904cd86b84fee17cc966216f811ce6a79'
> 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) // 上記と同じ、数値の HEX 表現のみ
null
> caver.utils.sha3('0xea') // まずバイト配列に変換され、ハッシュ化される
'0x2f20677459120677484f7104c76deb6846a2c071f9b3152c103bb12cd54d1a4a'

soliditySha3


caver.utils.soliditySha3(param1 [, param2, ...])

solidityと同じように、与えられた入力パラメータのsha3を計算する。 つまり、引数はハッシュされる前にABI変換され、タイトにパックされる。

パラメーター

名称タイプ説明
パラメエックスミックス任意の型、または {type: 'uint', value: '123456'} または {t: 'bytes', v: '0xfff456'} を持つオブジェクト。


- string 非数値 UTF-8 文字列は string として解釈される。

リターン・バリュー

タイプ説明
ストリング結果はハッシュ。


> 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') // 自動検出: uint256
'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'
> caver.utils.soliditySha3(0xea) // 上記と同じ
'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'
> caver.utils.soliditySha3(new caver.utils.BN('234')) // 上記と同じ。
'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'
> caver.utils.soliditySha3({type: 'uint256', value: '234'})) // 上記と同じ。// 上記と同じ
'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'
> caver.utils.soliditySha3({t: 'uint', v: new caver.utils.BN('234')})))// 上に同じ
'0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'
> caver.utils.soliditySha3('0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2'soliditySha3('0x407D73d8a49eeb85D32Cf465507dd71d507100c1')
'0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b'
> caver.utils.soliditySha3({t: 'bytes', v: '0x407D73d8a49eeb85D32Cf465507dd71d507100c1'})
'0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b' // 上記と同じ結果
> caver.utils.soliditySha3({t: 'address', v: '0x407D73d8a49eeb85D32Cf465507dd71d507100c1'})
'0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b' // 上記と同じだが、マルチケースの場合はチェックサムチェックを行う
> caver.utils.soliditySha3({t: 'bytes32', v: '0x407D73d8a49eeb85D32Cf465507dd71d507100c1'})
'0x3c69a194aaf415ba5d6afca734660d0a3d45acdc05d54cd1ca89a89e7625b4' // 上記と異なる結果
> caver.utils.soliditySha3({t: 'string', v: 'Hello!%'}, {t: 'int8', v:-23}, {t: 'address', v: '0x85F43D8a49eeB85d32Cf465507DD71d507100C1d'})
'0xa13b31627c1ed7aaded5aecec71baf02fe123797fffd45e662eac8e06fbe4955'

isHex


caver.utils.isHex(hex)

与えられた文字列がHEX文字列であるかどうかを調べる。

パラメーター

名称タイプ説明
ヘックスストリング指定された HEX 文字列。

リターン・バリュー

タイプ説明
ブーリアン与えられたパラメータがHEX文字列の場合、trueを返す。


>
true
> caver.utils.isHex('0xc1912')
true
> caver.utils.isHex('0xZ1912')
false
> caver.utils.isHex('Hello')
false

isHexStrict


caver.utils.isHexStrict(hex)

与えられた文字列がHEX文字列であるかどうかを調べる。 caver.utils.isHex との違いは、HEX の前に 0x が付くことを期待する点です。

パラメーター

名称タイプ説明
ヘックスストリング指定された HEX 文字列。

リターン・バリュー

タイプ説明
ブーリアン与えられた文字列がHEX文字列の場合、trueを返す。


> 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)

与えられた文字列が有効なkaiaアドレスかどうかをチェックする。 また、アドレスに大文字と小文字がある場合はチェックサムをチェックする。

パラメーター

名称タイプ説明
住所ストリングアドレス文字列。

リターン・バリュー

タイプ説明
ブーリアン与えられた文字列が有効なKAIAアドレスであれば true


> caver.utils.isAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d')
true
> caver.utils.isAddress('c1912fee45d61c87cc5ea59dae31190fffff232d')
true
> caver.utils.isAddress('0XC1912FEE45D61C87CC5EA59DAE31190FFFFF232D')
true // すべて大文字なので、チェックサムはチェックされない
> caver.utils.isAddress('0xc1912fEE45d61C87Cc5EA59DaE31190FFFFF232d')
true
> caver.utils.isAddress('0xC1912fEE45d61C87Cc5EA59DaE31190FFFFF232d')
false // チェックサムが正しくない。

toChecksumAddress


caver.utils.toChecksumAddress(アドレス)

大文字または小文字のカイアアドレスをチェックサムアドレスに変換する。

パラメーター

名称タイプ説明
住所ストリングアドレス文字列。

リターン・バリュー

タイプ説明
ストリングチェックサムアドレス。


> caver.utils.toChecksumAddress('0xc1912fee45d61c87cc5ea59dae31190fffff232d')
'0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d'
> caver.utils.toChecksumAddress('0XC1912FEE45D61C87CC5EA59DAE31190FFFFF232D')
'0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d' // 上記と同じ。

チェックアドレス・チェックサム


caver.utils.checkAddressChecksum(アドレス)

指定されたアドレスのチェックサムをチェックする。 また、チェックサムでないアドレスに対しては false を返す。

パラメーター

名称タイプ説明
住所ストリングアドレス文字列。

リターン・バリュー

タイプ説明
ブーリアンアドレスのチェックサムが有効な場合は true、チェックサムアドレスでないかチェックサムが無効な場合は false となる。


> caver.utils.checkAddressChecksum('0xc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d')
true

toHex


caver.utils.toHex(mixed)

HEX関数は、指定された値をHEXに変換します。 数値文字列は数値として解釈される。 テキスト文字列はUTF-8文字列として解釈される。

パラメーター

名称タイプ説明
ミックスstring \HEXに変換する入力。

リターン・バリュー

タイプ説明
ストリング結果のHEX文字列。


> 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)

HEX関数は、指定されたHEX値の数値表現を文字列として返します。

パラメーター

名称タイプ説明
ヘックスストリングストリング変換するHEX文字列。

リターン・バリュー

タイプ説明
ストリング文字列としての数字。


> caver.utils.hexToNumberString('0xea')
"234"

16進数


caver.utils.hexToNumber(hex)

HEX関数は、指定されたHEX値の数値表現を返します。

注意:これは大きな数には使えないので、caver.utils.toBN を使う。

パラメーター

名称タイプ説明
ヘックスストリングストリング変換するHEX文字列。

リターン・バリュー

タイプ説明
番号指定されたHEX値の数値表現。


> caver.utils.hexToNumber('0xea')
234

numberToHex


caver.utils.numberToHex(number)

HEX関数は、指定された数値のHEX表現を返します。

パラメーター

名称タイプ説明
番号string \文字列または数値。

リターン・バリュー

タイプ説明
ストリング与えられた数値のHEX値。


> caver.utils.numberToHex('234')
'0xea'

hexToUtf8


caver.utils.hexToUtf8(hex)
caver.utils.hexToString(hex) // ALIAS

指定されたHEX値のUTF-8文字列表現を返します。

パラメーター

名称タイプ説明
ヘックスストリングUTF-8文字列に変換するHEX文字列。

リターン・バリュー

タイプ説明
ストリングUTF-8の文字列。


> caver.utils.hexToUtf8('0x492068617665203130e282ac')
'私は100€を持っている'

hexToAscii


caver.utils.hexToAscii(hex)

HEX関数は、指定されたHEX値のASCII文字列表現を返します。

パラメーター

名称タイプ説明
ヘックスストリングASCII文字列に変換するHEX文字列。

リターン・バリュー

タイプ説明
ストリングASCII文字列。


> caver.utils.hexToAscii('0x49206861766520313021')
'100個ある!'

utf8ToHex


caver.utils.utf8ToHex(str)
caver.utils.stringToHex(str) // ALIAS

指定されたUTF-8文字列のHEX表現を返します。

パラメーター

名称タイプ説明
ストストリングHEX文字列に変換するUTF-8文字列。

リターン・バリュー

タイプ説明
ストリングHEX文字列。


> caver.utils.utf8ToHex('I have 100€')
'0x492068617665203130e282ac'

asciiToHex


caver.utils.asciiToHex(str)

HEX関数は、指定されたASCII文字列のHEX表現を返します。

パラメーター

名称タイプ説明
ストストリングHEX文字列に変換するASCII文字列。

リターン・バリュー

タイプ説明
ストリングHEX文字列。


> caver.utils.asciiToHex('I have 100!')
'0x4920686176652031303021'

ヘクス・トゥ・バイト


caver.utils.hexToBytes(hex)

与えられたHEX文字列からバイト配列を返す。

パラメーター

名称タイプ説明
ヘックスストリング変換するHEX文字列。

リターン・バリュー

タイプ説明
配列バイト配列。


> caver.utils.hexToBytes('0x000000ea')
[ 0, 0, 0, 234 ]。

バイト


caver.utils.bytesToHex(byteArray)

バイト配列から HEX 文字列を返します。

パラメーター

名称タイプ説明
バイト配列配列変換するバイト配列。

リターン・バリュー

タイプ説明
ストリングHEX文字列。


> caver.utils.bytesToHex([ 72, 101, 108, 111, 33, 36 ])
'0x48656c6f2124'

コンバート・トゥー・ペブ


caver.utils.convertToPeb(数値 [, 単位])

任意のKAIA値をpebに変換する。

:"peb"はKAIAの最小単位であり、KAIAの単位としては常に "peb"を使用すべきである。 KAIA "に変換するのは表示上の理由のみ。

パラメーター

名称タイプ説明
番号string \価値だ。
単位ストリング

(オプション、デフォルトは"KAIA") 変換する KAIA 単位。 には、提供された単位に対して以下の乗数のいずれかが乗算される:1' -kpeb:1000' -Mpeb:Mpeb: '1000000' -GpebGpeb: '1000000000'-Ston: '1000000000'-uKLAY: '1000000000000'-mKLAY: '1000000000000000'-KAIA: '10000000000000000'-kKLAY: '100000000000000000'-MKLAY: '100000000000000000000'-GKLAY: '10000000000000000000'.

リターン・バリュー

タイプ説明
string \number パラメータが BN のインスタンスであれば BN インスタンスを返し、そうでなければ文字列を返す。


> caver.utils.convertToPeb('1', 'KAIA')
'1000000000000000000'
> caver.utils.convertToPeb(caver.utils.toBN(1), 'KAIA')
<BN: de0b6b3a7640000>

コンバートフロムペブ


caver.utils.convertFromPeb(数値 [, 単位])

:"peb"はKAIAの最小単位であり、KAIAの単位としては常に "peb"を使用すべきである。 KAIA "に変換するのは表示上の理由のみ。

パラメーター

名称タイプ説明
番号string \ペブの値。
単位ストリング

(オプション、デフォルトは"KAIA") "peb "を変換するKAIAの単位。 、以下の分母のいずれかで割られる:1' -kpeb:1000' -Mpeb:Mpeb: '1000000' -GpebGpeb: '1000000000'-Ston: '1000000000'-uKLAY: '1000000000000'-mKLAY: '1000000000000000'-KAIA: '10000000000000000'-kKLAY: '100000000000000000'-MKLAY: '100000000000000000000'-GKLAY: '10000000000000000000'.

リターン・バリュー

タイプ説明
ストリング文字列番号。


> caver.utils.convertFromPeb('1', 'KAIA')
'0.00000000000001'

コンバートトケイ


caver.utils.convertToKei(number [, unit])

任意のKAIA値をkeiに変換する。

:"kei"はKAIAの最小単位であり、KAIAの単位には常に "kei"を使用すること。 KAIA "に変換するのは表示上の理由のみ。

パラメーター

名称タイプ説明
番号string \価値だ。
単位ストリング

(オプション、デフォルトは"KAIA") 変換する KAIA 単位。 kei: '1' -Gkei: '1000000000' -KAIA: '100000000000000'いずれかが乗算されます。

リターン・バリュー

タイプ説明
string \number パラメータが BN のインスタンスであれば BN インスタンスを返し、そうでなければ文字列を返す。


> caver.utils.convertToKei('1', 'KAIA')
'1000000000000000000'
> caver.utils.convertToKei(caver.utils.toBN(1), 'KAIA')
<BN: de0b6b3a7640000>

コンバートフロムケイ


caver.utils.convertFromKei(数値 [, 単位])

:"kei"はKAIAの最小単位であり、KAIAの単位には常に "kei"を使用すること。 KAIA "に変換するのは表示上の理由のみ。

パラメーター

名称タイプ説明
番号string \keiの価値。
単位ストリング

(オプション、デフォルトは「KAIA」)「kei」を変換する「KAIA」の単位。 kei: '1' -Gkei: '1000000000' -KAIA: '100000000000000'いずれかで除算される。

リターン・バリュー

タイプ説明
ストリング文字列番号。


> caver.utils.convertFromKei('1', 'KAIA')
'0.00000000000001'

ユニットマップ


caver.utils.unitMap

KAIA(またはKAIA)のすべての可能な値とその量をpeb(またはkei)単位で表示します。

リターン・バリュー

タイプ説明
対象

以下の特性を持つ:1'-kpeb:1000' -Mpeb:Mpeb: '1000000' -Gpeb: '1000000000uKLAY: '1000000000000'-mKLAY: '1000000000000000'-KAIA: '10000000000000000'-kKLAY: '100000000000000000'-MKLAY: '100000000000000000000'-GKLAY: '10000000000000000000'-TKLAY: '1000000000000000000000000'-kei: '1'-Gkei: '1000000000'-KAIA: '1000000000000000000'.


> caver.utils.unitMap
{
peb:'1',
kpeb:'1000',
Mpeb:'1000000',
Gpeb:'1000000000',
Ston: '1000000000',
uKLAY: '1000000000000',
mKLAY: '10000000000000',
KAIA: '100000000000000',
kKLAY: '100000000000000000',
MKLAY: '100000000000000000000',
GKLAY: '10000000000000000000',
TKLAY: '10000000000000000000000',
kei: '1',
Gkei: '1000000000',
KAIA: '100000000000000',
}.

クレイユニット


caver.utils.klayUnit

すべてのKAIA(またはKAIA)ユニットを表示します。

リターン・バリュー

タイプ説明
対象kaiaで使用されるKAIAの単位(またはKAIAで使用されるKAIAの単位)が定義されたオブジェクト。 各ユニットには名前とpebFactorがある。 pebFactorは、現在各単位で翻訳されているKAIA(またはKAIA)を「peb」(または「kei」)に変換する際に使用される。


> 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 },
KAIA: { unit: 'KAIA', pebFactor: 18 },
kKLAY: { unit: 'kKLAY', pebFactor: 21 },
MKLAY: { unit: 'MKLAY', pebFactor: 24 },
GKLAY: { unit: 'GKLAY', pebFactor: 27 },
TKLAY: { unit: 'TKLAY', pebFactor: 30 },
kei: { unit: 'kei', pebFactor: 0 },
Gkei: { unit: 'Gkei', pebFactor: 9 }
KAIA: { unit: 'KAIA', pebFactor: 18 }
}

カイアユニット


caver.utils.kaiaUnit

BN \

リターン・バリュー

タイプ説明
対象object \ それぞれのユニットには名前とkeiFactorがある。 string \


number \\

パッド左


caver.utils.padLeft(string, characterAmount [, sign])
caver.utils.leftPad(string, characterAmount [, sign]) // ALIAS

文字列の左にパディングを追加する。 HEX文字列にパディングを追加するのに便利。

パラメーター

名称タイプ説明
ストリングストリング左側にパディングを追加する文字列。
文字数番号文字列全体の文字数。
サインストリング(オプション) 使用する文字記号。デフォルトは 0 です。

リターン・バリュー

タイプ説明
ストリングパッド入りのストリング。


> caver.utils.padLeft('0x3456ff', 20)
'0x00000000003456ff'
> caver.utils.padLeft(0x3456ff, 20)
'0x00000000003456ff'
> caver.utils.padLeft('Hello', 20, 'x')
'xxxxxxxxxxxxxxxxxHello'

パッド右


caver.utils.padRight(str, characterAmount [, sign])
caver.utils.rightPad(str, characterAmount [, sign]) // ALIAS

HEX文字列にパディングを追加するのに便利です。

パラメーター

名称タイプ説明
ストストリング右側にパディングを追加する文字列。
文字数番号文字列全体の文字数。
サインストリング(オプション) 使用する文字記号。デフォルトは 0 です。

リターン・バリュー

タイプ説明
ストリングパッド入りのストリング。


>
'0x3456ff0000000000'
> caver.utils.padRight(0x3456ff, 20)
'0x3456ff0000000000'
> caver.utils.padRight('Hello', 20, 'x')
'Helloxxxxxxxxxxxxx'

トリム・リーディング・ゼロ


caver.utils.trimLeadingZero(hexString)

0x接頭辞付き16進文字列から先頭の0を削除する。

パラメーター

名称タイプ説明
ヘクス文字列ストリングトリミングする六角形のひも。

リターン・バリュー

タイプ説明
ストリング先頭のゼロを除いた16進文字列。


> caver.utils.trimLeadingZero('0x000011')
0x11

メイクイーブン


caver.utils.makeEven(hexString)

偶数の長さの文字列を返す。

パラメーター

名称タイプ説明
ヘクス文字列ストリング均等にするための16進数の文字列。

リターン・バリュー

タイプ説明
ストリング長さが均等な弦。


> caver.utils.makeEven('0x011')
0x0011

toTwosコンプリメント


caver.utils.toTwosComplement(num)

負の数を2の補数に変換する。

パラメーター

名称タイプ説明
番号BigNumber \変換する数字。

リターン・バリュー

タイプ説明
ストリング変換後の16進文字列。


> caver.utils.toTwosComplement('-1')
'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
> caver.utils.toTwosComplement(-1)
'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
> caver.utils.toTwosComplement('0x1')
'0x0000000000000000000000000000000000000000000000000000000000000001'
> caver.utils.toTwosComplement(-15)
'0xfffffffffffffffffffffffffffffffffffffffff1'
> caver.utils.toTwosComplement('-0x1')
'0xffffffffffffffffffffffffffffffffffffffffffffffffff'

isContractDeployment


caver.utils.isContractDeployment(トランザクションオブジェクト)

与えられたトランザクションがスマートコントラクトをデプロイしたトランザクションであれば true を返す。 スマートコントラクトがデプロイされたトランザクションでない場合は false を返す。 結果は transactionObject のパラメータの値によって決まる。 すべての必須パラメータが正しく設定されていることを確認してください。

パラメーター

名称タイプ説明
トランザクションオブジェクトオブジェクトトランザクション](./caver-transaction/caver-transaction.md#class)のインスタンスで、トランザクションをデプロイしているかどうかをチェックします。

リターン・バリュー

タイプ説明
ブーリアンtrueはトランザクションオブジェクトがスマートコントラクトのデプロイ用であることを意味する。


> caver.utils.isContractDeployment(caver.transaction.legacyTransaction.create({
to: '0x9957dfd92e4b70f91131c573293343bc5f21f215',
value: caver.utils.toPeb(1, 'KAIA'),
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)

指定された publicKey の x 座標と y 座標を返します。 鍵暗号の詳細については、楕円曲線暗号を参照のこと。

この関数には、公開鍵が有効かどうかをチェックするロジックは含まれていない。 この関数は、入力された publicKey を長さごとに x 点と y 点に分割するだけです。 公開鍵を検証するには、isValidPublicKey を使用してください。

パラメーター

名称タイプ説明
パブリックキーストリングx 点と y 点を取得する publicKey。

リターン・バリュー

タイプ説明
配列x 点と y 点を格納する配列。 インデックス0がx点、インデックス1がy点。


> caver.utils.xyPointFromPublicKey('0xa5862ded55cd9c7e9ff246dbc264ca5d5c605308f59b74e581b4f089d4c8c88cb9f00df6a56493f6029af215d266c907660ea0f7a4111ea025ea9d9be418fa55')
[
'0xa5862ded55cd9c7e9ff246dbc264ca5d5c605308f59b74e581b4f089d4c8c88c'、
'0xb9f00df6a56493f6029af215d266c907660ea0f7a4111ea025ea9d9be418fa55'
]

isHexPrefixed


caver.utils.isHexPrefixed(入力)

入力が 0x 接頭辞の 16 進文字列であれば true を返し、そうでなければ false を返す。

パラメーター

名称タイプ説明
入力ストリングパラメータが0x接頭辞付き16進文字列か否かを判定する値。

リターン・バリュー

タイプ説明
ブーリアンtrueは、入力が0x接頭辞付きの16進文字列であることを意味する。


> caver.utils.isHexPrefixed('0xa5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
true
> caver.utils.isHexPrefixed('0x1')
true
> caver.utils.isHexPrefixed('0xqwer')
false
> caver.utils.isHexPrefixed('1')
false

addHexPrefix


caver.utils.addHexPrefix(入力)

0x接頭辞付きの16進文字列を返す。 入力がすでに0x接頭辞付きであるか、16進数でない文字列の場合、入力値はそのまま返される。

パラメーター

名称タイプ説明
入力ストリング文字列値の先頭に 0x を付ける。

リターン・バリュー

タイプ説明
ストリング0x接頭辞付きの16進文字列が返される。


> caver.utils.addHexPrefix('a5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
'0xa5b0cd8c87e77879d64cc064ee239ed6f71cacf9'
> caver.utils.addHexPrefix('0xa5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
'0xa5b0cd8c87e77879d64cc064ee239ed6f71cacf9'

stripHexPrefix


caver.utils.stripHexPrefix(入力)

入力から 0x 接頭辞を取り除いた結果を返す。

注意 caver.klay.stripHexPrefixはv1.0.1からサポートされています。 この機能を使用するには、v1.0.1以上をインストールしてください。

パラメーター

名称タイプ説明
入力ストリング文字列から 0x 接頭辞を取り除く。

リターン・バリュー

タイプ説明
ストリング0xを取り除いた文字列が返される。


> caver.utils.stripHexPrefix('a5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
'a5b0cd8c87e77879d64cc064ee239ed6f71cacf9'
> caver.utils.stripHexPrefix('0xa5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
'a5b0cd8c87e77879d64cc064ee239ed6f71cacf9'

toBuffer


caver.utils.toBuffer(入力)

この関数は入力を Buffer に変換する。 toBufferを使ってオブジェクトをBufferに変換するには、オブジェクトはtoArray関数を実装していなければならない。 文字列型入力の場合、この関数は0x接頭辞付き16進文字列でのみ動作する。

パラメーター

名称タイプ説明
入力BigNumber number \ BigNumber Buffer \ number \ BN \Bufferに変換する値。

NOTE BigNumber型はcaver-js v1.6.4 からサポートされています。

リターン・バリュー

タイプ説明
バッファBuffer型に変換された値が返される。


// Buffer
> caver.utils.toBuffer(Buffer.alloc(0))
<Buffer >
// 0x接頭辞付き16進文字列
> caver.utils.toBuffer('0x1234')
<Buffer 12 34>
// 数値
> caver.utils.toBuffer(1)
<Buffer 01>
// Array
> caver.utils.toBuffer([1,2,3]) // BN > caver.utils.BN(new caver.utils.BN(255)) // オブジェクトtoBuffer([1,2,3])
<Buffer 01 02 03>
// BN
> caver.utils.toBuffer(new caver.utils.BN(255))
<Buffer ff>
// toArray関数を実装するオブジェクト
> caver.utils.toBuffer({toArray: function() {return [1,2,3,4]}}) // nullまたは未定義。
<Buffer 01 02 03 04>
// null または undefined
> caver.utils.toBuffer(null)
<Buffer >
> caver.utils.toBuffer(undefined)
<Buffer >
// 0x接頭辞のない16進文字列
> caver.utils.toBuffer('0xqwer')
Error:文字列をバッファに変換できませんでした。'toBuffer'関数は0x接頭の16進文字列のみをサポートしています
// toArray関数を実装していないオブジェクト
> caver.utils.toBuffer({})
エラー:オブジェクトをバッファに変換するには、toArray 関数をオブジェクト内部に実装する必要があります。

バッファ数


caver.utils.numberToBuffer(input)

この関数は数値を Buffer に変換する。 caver.utils.toBuffer](#tobuffer) は、入力が数値の場合、この関数と同じ動作をする。

パラメーター

名称タイプ説明
入力string \Bufferに変換される数値。

リターン・バリュー

タイプ説明
バッファBuffer型に変換された値が返される。


> caver.utils.numberToBuffer(1)
<Buffer 01>
> caver.utils.numberToBuffer('2')
<Buffer 02>
> caver.utils.numberToBuffer('0x3')
<Buffer 03>
> caver.utils.numberToBuffer(new caver.utils.BN(4))
<Buffer 04>

isValidHash


caver.utils.isValidHash(input)

入力が32バイトのハッシュ形式であれば true を返し、そうでなければ false を返す。

パラメーター

名称タイプ説明
入力ストリング32バイトのハッシュ形式かどうかを調べる。

リターン・バリュー

タイプ説明
ブーリアンtrueは入力が32バイトのハッシュ形式であることを意味する。


// '0x' 16進接頭辞あり
> caver.utils.isValidHash('0xe9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
true
// '0x' 16進接頭辞なし
> caver.utils.isValidHash('e9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
true
> caver.utils.isValidHash('0x1')
false

isValidHashStrict


caver.utils.isValidHashStrict(入力)

入力が 0x 接頭辞付きの 32 バイトのハッシュ形式であれば true を返し、そうでなければ false を返す。 この関数は入力を見て、それが0x接頭の32バイトハッシュの形式かどうかを判断するだけである。 caver.utils.isValidHash との違いは、HEXの前に 0x が付くことを期待する点です。

パラメーター

名称タイプ説明
入力ストリング0x接頭辞付き32バイトハッシュの形式かどうかを調べる。

リターン・バリュー

タイプ説明
ブーリアンtrueは、入力が0x接頭辞付き32バイトのハッシュ形式であることを意味する。


// '0x' 16進接頭辞あり
> caver.utils.isValidHashStrict('0xe9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
true
// '0x' 16進接頭辞なし
> caver.utils.isValidHashStrict('e9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
false
> caver.utils.isValidHashStrict('0x1')
false

isTxHash


caver.utils.isTxHash(input)

入力がトランザクションハッシュ形式であれば true を返し、そうでなければ false を返す。 この関数は入力を見て、それがトランザクション・ハッシュの形式かどうかを判断するだけである。

注意 この関数は廃止されました。 isValidHash](#isvalidhash) を使って、有効なハッシュが32バイト長かどうかを判断する。

パラメーター

名称タイプ説明
入力ストリングパラメータがトランザクションハッシュの形式かどうかを判断する値。

リターン・バリュー

タイプ説明
ブーリアンtrueは、入力がトランザクションハッシュの形式であることを意味する。


// '0x' 16進接頭辞あり
> caver.utils.isTxHash('0xe9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
true
// '0x' 16進接頭辞なし
> caver.utils.isTxHash('e9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
true
> caver.utils.isTxHash('0x1')
false

isTxHashStrict


caver.utils.isTxHashStrict(input)

入力がトランザクションハッシュ形式であれば true を返し、そうでなければ false を返す。 この関数は入力を見て、それがトランザクション・ハッシュの形式かどうかを判断するだけである。 caver.utils.isTxHash との違いは、HEX の前に 0x が付くことを期待する点です。

注意 この関数は廃止されました。 isValidHashStrict](#isvalidhashstrict) を使って、有効なハッシュが32バイト長かどうかを判断する。

パラメーター

名称タイプ説明
入力ストリングパラメータがトランザクションハッシュの形式かどうかを判断する値。

リターン・バリュー

タイプ説明
ブーリアンtrueは、入力がトランザクションハッシュの形式であることを意味する。


// '0x' 16進接頭辞あり
> caver.utils.isTxHashStrict('0xe9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
true
// '0x' 16進接頭辞なし
> caver.utils.isTxHashStrict('e9a11d9ef95fb437f75d07ce768d43e74f158dd54b106e7d3746ce29d545b550')
false
> caver.utils.isTxHashStrict('0x1')
false

isValidPrivateKey


caver.utils.isValidPrivateKey(プライベートキー)

privateKey が有効であれば true を返し、そうでなければ false を返す。

パラメーター

名称タイプ説明
プライベートキーストリング検証する秘密鍵の文字列。

リターン・バリュー

タイプ説明
ブーリアンtrueはprivateKeyが有効であることを意味する。


> caver.utils.isValidPrivateKey('0x{private key}')
true
> caver.utils.isValidPrivateKey('{private key}')
true
> caver.utils.isValidPrivateKey('a5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
false

isValidPublicKey


caver.utils.isValidPublicKey(publicKey)

publicKey が有効であれば true を返し、そうでなければ false を返す。

パラメーター

名称タイプ説明
パブリックキーストリング検証する公開鍵文字列。

リターン・バリュー

タイプ説明
ブーリアンtrueはpublicKeyが有効であることを意味する。


// 非圧縮公開鍵による検証
> caver.utils.isValidPublicKey('0xbd6405a7f14f57ecea4a6ffe774ee26d051f7eed13257c9a574055b20e42bab0e8beba92e2e675101eb2a55ba4693080d0bf14548beae7bc93b18b72d10dd350')
true
// 圧縮公開鍵による検証
> caver.utils.isValidPublicKey('0x02bd6405a7f14f57ecea4a6ffe774ee26d051f7eed13257c9a574055b20e42bab0')
true
> caver.utils.isValidPublicKey('{private key}')
false
> caver.utils.isValidPublicKey('0x{private key}')
false
> caver.utils.isValidPublicKey('a5b0cd8c87e77879d64cc064ee239ed6f71cacf9')
false

isValidRole


caver.utils.isValidRole(ロール)

ロールが有効であれば true を返し、そうでなければ false を返す。 caver-jsがサポートしているロールは、caver.wallet.keyring.roleで確認できます。

パラメーター

名称タイプ説明
役割ストリング検証するロール文字列。

リターン・バリュー

タイプ説明
ブーリアンtrueはロールが有効であることを意味する。


> caver.utils.isValidRole('roleTransactionKey')
true
> caver.utils.isValidRole('role')
false

isValidBlockNumberCandidateです。


caver.utils.isValidBlockNumberCandidate(入力)

ブロック番号(またはブロックタグ文字列)を検証します。

ブロック番号は、以下のいずれかのタイプでなければならない:

  • 定義済みのブロック番号 例:)最新'、'最も早い'、'保留'、'ジェネシス'
  • ヘックス
  • 有限数

パラメーター

名称タイプ説明
ブロック番号number \検証するブロック番号。 これはブロック番号(数値型)またはブロックタグ(latest, pending, earliest, genesis)の文字列である。

リターン・バリュー

タイプ説明
ブーリアンtrueはブロック番号が有効であることを意味する。


> caver.utils.isValidBlockNumberCandidate('latest')
true
> caver.utils.isValidBlockNumberCandidate('0x1')
true
> caver.utils.isValidBlockNumberCandidate(1)
true

isPredefinedBlockNumber


caver.utils.isPredefinedBlockNumber(入力)

パラメータが定義済みのブロックタグであれば true を返す。

パラメーター

名称タイプ説明
定義済みブロックストリング定義済みのブロック。

リターン・バリュー

タイプ説明
ブーリアンtrueはpredefinedBlockが有効な定義済みブロックタグであることを意味する。


> caver.utils.isPredefinedBlockNumber('latest')
true
> caver.utils.isPredefinedBlockNumber('0x1')
false

isEmptySig


caver.utils.isEmptySig(sig)

sig が空のシグネチャ(SignatureData { _v: '0x01', _r: '0x', _s: '0x' } または [SignatureData { _v: '0x01', _r: '0x', _s: '0x' }])の形式であれば true を返し、そうでなければ false を返す。

caver-js では、signatures または feePayerSignatures が空の場合、空の署名を表す値 [SignatureData { _v: '0x01', _r: '0x', _s: '0x' }] がプロパティに返されます。 この関数は、与えられた署名が [SignatureData { _v: '0x01', _r: '0x', _s: '0x' }] (または 'LEGACY' トランザクションでは SignatureData { _v: '0x01', _r: '0x', _s: '0x' })であるかどうかをチェックするために使用される。

パラメーター

名称タイプ説明
シグobject \SignatureData](caver-wallet/keyring.md#signaturedata) のインスタンス、または SignatureData の配列。

リターン・バリュー

タイプ説明
ブーリアンtrueはシグが空であることを意味する。


> caver.utils.isEmptySig(caver.wallet.keyring.signatureData.emtpySig)
true
> caver.utils.isEmptySig([caver.wallet.keyring.signatureData.emtpySig])
true

isKlaytnWalletKey


caver.utils.isKlaytnWalletKey(key)

key が KlaytnWalletKey 形式であれば true を返し、そうでなければ false を返す。

パラメーター

名称タイプ説明
キーストリングKlaytnWalletKey のフォーマットでチェックするキー文字列。

リターン・バリュー

タイプ説明
ブーリアンtrueは、キーが0x{private key}0x{type}0x{address in hex}または{private key}0x{type}0x{address in hex}であることを意味する。


> caver.utils.isKlaytnWalletKey('0x{private key}0x{type}0x{address in hex}')
true
> caver.utils.isKlaytnWalletKey('{private key}0x{type}0x{address in hex}')
true
> caver.utils.isKlaytnWalletKey('0x{private key}')
false

バッファートヘックス


caver.utils.bufferToHex(バッファ)

バッファを0x接頭辞付き16進文字列に変換する。

パラメーター

名称タイプ説明
バッファバッファ16進文字列に変換するバッファ。

リターン・バリュー

タイプ説明
ストリング0x接頭辞付きの16進文字列。


> caver.utils.bufferToHex(Buffer.from('5b9ac8', 'hex'))
'0x5b9ac8'
> caver.utils.bufferToHex(Buffer.alloc(0))
'0x'

parseKlaytnWalletKey


caver.utils.parseKlaytnWalletKey(key)

KlaytnWalletKey](../../../../learn/accounts.md#klaytn-wallet-key-format) 文字列を、"秘密鍵", "type", "address" を含む配列にパースします。

パラメーター

名称タイプ説明
キーストリングKlaytnWalletKey](../../../../learn/accounts.md#klaytn-wallet-key-format) 文字列。

リターン・バリュー

タイプ説明
配列パースされた KlaytnWalletKey。


> caver.utils.parseKlaytnWalletKey('0x{private key}0x{type}0x{address in hex}')
[
'0x{private key}',
'0x00',
'0x885ebdb17c221ef695936b18a0263d6399e14d60'
]

ハッシュメッセージ


caver.utils.hashMessage(メッセージ)

メッセージをkaia固有の接頭辞でハッシュする: keccak256("\x19Klaytn Signed Message:\n" + len(message) + message))とする。

パラメーター

名称タイプ説明
メッセージストリングハッシュ化するメッセージ。 HEX文字列の場合は、まずUTF-8デコードされる。

リターン・バリュー

タイプ説明
ストリングkaia固有のプレフィックスを持つハッシュ化されたメッセージ。


> caver.utils.hashMessage('Hello')
'0x640bfab59b6e27468abd367888f4ab1a1c77aa2b45e76a1d3adcbd039c305917'

立ち直る


caver.utils.recover(message, signature [, isHashed])

与えられたデータの署名に使われたカイアアドレスを復元する。

パラメーター

名称タイプ説明
メッセージストリングメッセージまたはハッシュ化されたメッセージのいずれか。
署名object \SignatureData](caver-wallet/keyring.md#signaturedata) のインスタンス。
isHashedブーリアン(オプション、デフォルト: false) 最後のパラメータが true の場合、与えられた message には自動的に "\x19Klaytn Signed Message:\n" + message.length + message が自動的に付加されず、すでに付加されているとみなされます。

リターン・バリュー

タイプ説明
ストリングこのデータの署名に使用されるkaiaアドレス。


> この場合、'message', new caver.wallet.keyring.signatureData(['0x1b', '0x50a80...', '0x021de...'])
'0xe8b3a6ef12f9506e1df9fd445f9bb4488a482122'
> caver.utils.recover('message', ['0x1b', '0x50a80...', '0x021de...'])
'0xe8b3a6ef12f9506e1df9fd445f9bb4488a482122'
> caver.utils.recover('message', { v: '0x1b', r: '0x50a80...', s: '0x021de...' })
'0xe8b3a6ef12f9506e1df9fd445f9bb4488a482122'
> caver.utils.recover('0xe960248437f2134a77a9aa0ebcbb6523aec095f23b02e25f16fd95e99b099daa', sig, true)
'0xe8b3a6ef12f9506e1df9fd445f9bb4488a482122'

リカバーパブリックキー


caver.utils.recoverPublicKey(message, signature [, isHashed])

与えられたデータの署名に使われた公開鍵を復元する。

NOTE caver.utils.recoverPublicKey は caver-js v1.6.3 以降でサポートされています。

パラメーター

名称タイプ説明
メッセージストリングメッセージまたはハッシュ化されたメッセージのいずれか。
署名Array \SignatureData](caver-wallet/keyring.md#signaturedata) のインスタンス。
isHashedブーリアン(オプション、デフォルト: false) パラメータとして渡されたメッセージが、接頭辞 "\x19Klaytn Signed Message:\n" + message.length + message.

リターン・バリュー

タイプ説明
ストリングこのデータの署名に使われる公開鍵。


> このような場合、caver.utils.recoverPublicKey('Some Message', new caver.wallet.keyring.signatureData([
'0x1b',
'0x8213e560e7bbe1f2e28fd69cbbb41c9108b84c98cd7c2c88d3c8e3549fd6ab10',
'0x3ca40c9e20c1525348d734a6724db152b9244bff6e0ff0c2b811d61d8f874f00'、
]))
'0xb5df4d5e6b4ee7a136460b911a69030fdd42c18ed067bcc2e25eda1b851314fad994c5fe946aad01ca2e348d4ff3094960661a8bc095f358538af54aeea48ff3'
> caver.utils.recoverPublicKey('Some Message', [
'0x1b',
'0x8213e560e7bbe1f2e28fd69cbbb41c9108b84c98cd7c2c88d3c8e3549fd6ab10',
'0x3ca40c9e20c1525348d734a6724db152b9244bff6e0ff0c2b811d61d8f874f00'、
])
'0xb5df4d5e6b4ee7a136460b911a69030fdd42c18ed067bcc2e25eda1b851314fad994c5fe946aad01ca2e348d4ff3094960661a8bc095f358538af54aeea48ff3'
> caver.utils.recoverPublicKey('0x8ed2036502ed7f485b81feaec1c581d236a8b711e55a24077724879c8a263c2a', {
v: '0x1b',
r: '0x3acab5ba6f884eccfb9642018aa6debab1310d99b7a84ae9acb8f52f567cf16a',
s:'0x3501ae03809bf93222c4683642fa8fdc36385709c70ed8e7b883b34d66a5b8a4',
},true)
'0xdd352dbe1c49aa9addaa3ca762de476a1b4deca3ac15fbb7fac153737b3ddb1e3249e1c2d86d5cbeaf6d30d366a211532683b59cb5f402bf3fe14989a378d45d'

publicKeyToAddress


caver.utils.publicKeyToAddress('0x{public key}')

公開鍵から派生したアドレスを返します。 この関数は、単に公開鍵文字列をハッシュ化してアドレス形式に変換するだけである。 カイアの実際のアカウントとは何の関係もない。

NOTE caver.utils.publicKeyToAddressは、caver-js v1.6.3からサポートされています。

パラメーター

名称タイプ説明
パブリックキーストリングアドレスを取得するための公開鍵文字列。

リターン・バリュー

タイプ説明
ストリング公開鍵に由来するアドレス文字列。


> caver.utils.publicKeyToAddress('0xb5df4d5e6b4ee7a136460b911a69030fdd42c18ed067bcc2e25eda1b851314fad994c5fe946aad01ca2e348d4ff3094960661a8bc095f358538af54aeea48ff3')
'0xA84A1CE657e9d5b383cECE6f4bA365e23Fa234Dd'

compressPublicKey。


caver.utils.compressPublicKey(uncompressedPublicKey)

圧縮されていない公開鍵を圧縮する。

パラメーター

名称タイプ説明
非圧縮パブリックキーストリング圧縮されていない公開鍵。

リターン・バリュー

タイプ説明
ストリング圧縮された公開鍵。


> caver.utils.compressPublicKey('0x62cef87819b82f62e9c0a38c1fa7dfa089084959df86aca19ff2f6c903db2248b45dc23220ee6bcd8753bb9df8ce7d58e56eabebb14479f3a0ca5ccd4bdea632')
'0x0262cef87819b82f62e9c0a38c1fa7dfa089084959df86aca19ff2f6c903db2248'

公開鍵の解凍


caver.utils.decompressPublicKey(compressedPublicKey)

圧縮された公開鍵を解凍する。

パラメーター

名称タイプ説明
圧縮された公開鍵ストリング圧縮された公開鍵。

リターン・バリュー

タイプ説明
ストリング圧縮されていない公開鍵。


> caver.utils.decompressPublicKey('0x0262cef87819b82f62e9c0a38c1fa7dfa089084959df86aca19ff2f6c903db2248')
'0x62cef87819b82f62e9c0a38c1fa7dfa089084959df86aca19ff2f6c903db2248b45dc23220ee6bcd8753bb9df8ce7d58e56eabebb14479f3a0ca5ccd4bdea632'

isCompressedPublicKey


caver.utils.isCompressedPublicKey(publicKey)

公開鍵が圧縮されていれば true を返し、そうでなければ false を返す。

パラメーター

名称タイプ説明
パブリックキーストリング公開鍵。

リターン・バリュー

タイプ説明
ブーリアンtrueは圧縮されていることを意味する。


> caver.utils.isCompressedPublicKey('0x0262cef87819b82f62e9c0a38c1fa7dfa089084959df86aca19ff2f6c903db2248')
true

デコード署名


caver.utils.decodeSignature('0x{signature}')

R(32バイト)+S(32バイト)+V(1バイト)」で構成される生の署名データをデコードする。

NOTE caver.utils.decodeSignatureはcaver-js v1.6.3からサポートされています。

パラメーター

名称タイプ説明
署名ストリングデコードする署名文字列。 R(32バイト)+S(32バイト)+V(1バイト)で構成される。

リターン・バリュー

タイプ説明
オブジェクトvrs を含む SignatureData インスタンス。


> caver.utils.decodeSignature('0xc69018da9396c4b87947e0784625af7475caf46e2af9cf57a44673ff0f625258642d8993751ae67271bcc131aa065adccf9f16fc4953f9c48f4a80d675c09ae81b')
SignatureData {
_v: '0x1b',
_r: '0xc69018da9396c4b87947e0784625af7475caf46e2af9cf57a44673ff0f625258',
_s: '0x642d8993751ae67271bcc131aa065adccf9f16fc4953f9c48f4a80d675c09ae8'
}

ページを改善してください。