すべてのプロダクト
Search
ドキュメントセンター

Blockchain as a Service:補助ツールクラスインターフェース

最終更新日:Jan 19, 2025

便宜上、JS SDK は getHashtoDecimaltoUtf8getKeyInfodecryptAESWithPassword などの複数の関数を備えています。これらの関数は、次の 2 つの方法で使用できます。

  • Chain という名前のグローバルオブジェクト、または chain という名前の初期化された環境インスタンスを使用します。

    Chain.utils.getHash('Tester001') // アカウント名を使用してアカウント ID を計算します
  • Java.util パッケージを個別に導入します。

    const Util = require('@alipay/mychain/lib/ant3/util')
    Util.getHash('Tester001')

getHash

GetHash() 関数を使用して、文字列のハッシュを返します。この文字列は通常、アカウント ID として使用されます。

リクエストパラメーター

パラメーター 必須 タイプ 説明
msg true string ハッシュ関数の入力として使用されるターゲット文字列。
not0x false bool 応答は 16 進数形式です。「0x」というプレフィックスを文字列に付けるかどうかを示します。true の値は、文字列に「0x」というプレフィックスが付いていないことを示します。false の値は、文字列に「0x」というプレフィックスが付いていることを示します。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result string 文字列に「0x」というプレフィックスが付いているかどうかを識別するために使用される 16 進数文字列。

const accountId = Chain.utils.getHash('Tester001')

toDecimal

16 進数文字列を 10 進数文字列に変換します。BigNumber オブジェクトを入力パラメーターとして渡すことができます。

リクエストパラメーター

パラメーター 必須 タイプ 説明
value true string/BigNumber ターゲットパラメーター。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result number 10 進数。

const num = Chain.utils.toDecimal('0x64')

toUtf8

16 進数文字列を UTF-8 文字列に変換します。

リクエストパラメーター

名前 必須 タイプ 説明
value true string 16 進数文字列。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result string UTF-8 文字列。

const str = Chain.utils.toUtf8('0xe89a82e89a81e58cbae59d97e993be')

getKeyInfo

アカウント情報を取得します。

リクエストパラメーター

名前 必須 タイプ 説明
value true string アカウントファイル(user.pem)または「0x」というプレフィックスが付いた 16 進数秘密鍵文字列を読み取ります。
passphrase false string アカウントファイル user.pem のパスワード。value パラメーターが 16 進数秘密鍵文字列の場合、このパスワードを設定する必要はありません。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result object 秘密鍵オブジェクト。
result.privateKey Buffer 秘密鍵バッファー。
result.publicKey Buffer 公開鍵バッファー。

const result = Chain.utils.getKeyInfo('0x2768d0e80eb904560aa0a3ff4fc96b2f4d1e5d1fe293cc69c07808765ab20c29')

decryptAESWithPassword

Trusted Execution Environment(TEE)復号メソッド。

リクエストパラメーター

名前 必須 タイプ 説明
output true string 復号化するデータ。たとえば、コントラクトから返された出力。
aesKey true string このパラメーターはパスワードとして渡され、ターゲットの暗号化されたトランザクションハッシュとともに使用されて、対称 AES キーが生成されます。文字列タイプが使用される場合、このメソッドは文字列に「0x」というプレフィックスが付いているかどうかを確認します。「0x」というプレフィックスが付いている場合は、16 進数文字列として読み取られます。そうでない場合は、エンコードされた ASCII 文字列として読み取られます。
hash true string トランザクションハッシュ。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result string 復号された出力。

const result = Chain.utils.decryptAESWithPassword('0x83568fd7f92d39e42523d59305c383bb24fc7a404f37d0b95d622246fa198037f91ae16edb071dec3a96c919d714c7fe99cc6c6da025376e53aa946c', '0x1c4f2919963e8dc040cfddf7d27227de', '0xf91ae16edb071dec3a96c9196f8505f6d49f4ae79707c10ac73455a95e04e03d')

decryptTXWithAES

TEE に基づくブロックチェーン。

リクエストパラメーター

名前 必須 タイプ 説明
tx true string 復号化するトランザクションデータ。データは「0x」というプレフィックスが付いた 16 進数形式です。
aesKey true string or buffer このパラメーターはパスワードとして渡され、ターゲットの暗号化されたトランザクションハッシュとともに使用されて、対称 AES キーが生成されます。文字列タイプが使用される場合、このメソッドは文字列に「0x」というプレフィックスが付いているかどうかを確認します。「0x」というプレフィックスが付いている場合は、16 進数文字列として読み取られます。そうでない場合は、エンコードされた ASCII 文字列として読み取られます。
hash true string ターゲットトランザクションハッシュ。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result object 復号されたトランザクションオブジェクト。

const result = Chain.utils.decryptTXWithAES('0x00011660bbb61f5a66ab5cf78910831c41ed6b9eafb60fe3d14fa9a5a8fe4e800b30a3a8d8d6a4e8cbfc511e8f967509acf9d08c96c62da111b4886f0a3a0441dcc2887fd88243aa671a0f2fc08822d1c9d99db571b7d81207809e1f81629b38e9184221570bb1ef265d4f91d1967219fd51127712c60ae2990feaa2f4d021e71af5073de40a092de84609aead81882686595d4cf09672ef6aee28ed3894f6eb9d2b80000a4c02795d64785191bb7f076b9d2bb3552734fb0c2335f81424053f066a50242812aa92ecf82a212770d1adcb37717d01980bc7898258301d9b86344e5b338efa675e8ed7baaf6e03d464469eb24fb369444e29d08e573a287b02946e4c1dbd8e38a74a5c64f6c3e17bd8ac48626f4c240d96d5b7a1262f5034f838dd6811418cdf33eb6f1660664ea620318ec28f36b4860257a3d0b926788036e48a46aa84dbfe968e1def8a62170c286ceb5e4ef44856af6810678210ac7851f2e251aa28a4f0682d1880c27cdad697f53cc7a6d4acb1378e01b1aed9919a01f1b7c538441baaf4e1e90df9814f6da0c7989e9c56e218098f6700281bfc92f96f95c4f711c03174bbe7b0f0697ee70cbe772b53676b09d7f72547a81453021617c5e79e6484bd29c1304dcffece04cb1debfca235f513cf3f1a20326d8007038666f0f9259e5ec4af94b0cdebc1bd1f894e44eca006714cb2e2065979214f7223c6c5c9073350faa60dd6bdf3dae72c09358167adadb56cd7e0fd1d065a97d6a6c7c23132ab7357ff48e9ed913f95aff1442d0d1878', '0x1c4f2919963e8dc040cfddf7d27227de', '0xb9fc5d963d094e03072c5cad233efc80023a7a9bd68a4bca98e80c99214aa68e')

generateAESKey

TEE に基づくブロックチェーンの場合、指定された AES キーは、指定されたトランザクションハッシュとともに使用されて、ターゲットトランザクションの最終的な AES キーが生成されます。通常、単一のトランザクションを共有する場合に使用されます。

リクエストパラメーター

名前 必須 タイプ 説明
aesKey true String or buffer このパラメーターはパスワードとして渡され、ターゲットの暗号化されたトランザクションハッシュとともに使用されて、対称 AES キーが生成されます。文字列タイプが使用される場合、このメソッドは文字列に「0x」というプレフィックスが付いているかどうかを確認します。「0x」というプレフィックスが付いている場合は、16 進数文字列として読み取られます。そうでない場合は、エンコードされた ASCII 文字列として読み取られます。
hash true string トランザクションハッシュ。

レスポンスパラメーター

レスポンスフィールド フィールドタイプ 説明
result string ターゲットトランザクション用に派生された最終的な AES キー。

// case-1 result(hex): b2bafab38c678a4519aa9822aa6c4e53
console.log('AES Key:', Chain.utils.generateAESKey('0x3b1fa6e5c8a3df729bdb6bf415150ddd', '0x6f3f709fcce4509ca4c2e009d9be668d9f0cc9c91247180f9b6d1011cb20291c').toString('hex'))

// case-2 result(hex): 0b985d88bb3b7c932028512bcd1eb10e
console.log('AES Key:', Chain.utils.generateAESKey('1234abc', '0x6f3f709fcce4509ca4c2e009d9be668d9f0cc9c91247180f9b6d1011cb20291c').toString('hex'))