1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nem catapult バイトレベルで理解する その5 SecretLock/Proof Transaction

1
Last updated at Posted at 2018-11-18

前提

  • nem2-sdk 0.9.4
  • rxjs 6.2.1

超絶端折りモード

環境

Alpaca版

SecretLock

結果

| 項目 | サイズ | 意味 |
|:---:|:---:|:---:|:---:|
| サイズ | 4byte(LE) | トランザクションサイズ |
| 署名 | 64byte | トランザクションへの署名 |
| 公開鍵 | 32byte | 署名者の公開鍵 |
| version | 2byte(LE) | 0390 |
| type | 2byte(LE) | 4C42 |
| fee(l) | 4byte(LE) | 手数料 |
| fee(h) | 4byte(LE) | 手数料 |
| deadline(l) | 4byte(LE) | 期限 |
| deadline(h) | 4byte(LE) | 期限 |
| mosaic id(l) | 4byte(LE) | モザイク |
| mosaic id(h) | 4byte(LE) | モザイク |
| amount(l) | 4byte(LE) | モザイク数量 |
| amount(h) | 4byte(LE) | モザイク数量 |
| duration(l) | 4byte(LE) | 有効期間ブロック数 |
| duration(h) | 4byte(LE) | 有効期間ブロック数 |
| hashAlgorithm | 1byte | ハッシュアルゴリズム |
| secret | 64byte? | シークレット |
| 受取人 | 25byte | 受取人 |

調査

const account = Account.createFromPrivateKey('7808B5B53ECF24E40BE17B8EC3D0EB5F7C3F3D938E0D95A415F855AD4C27B2A4', NetworkType.MIJIN_TEST);
const recipient = Address.createFromRawAddress('SB2Y5ND4FDLBIO5KHXTKRWODDG2QHIN73DTYT2PC');
const tx1 = SecretLockTransaction.create(
    Deadline.create(),
    new Mosaic(new MosaicId('nem:xem'), UInt64.fromUint(100000000)),
    UInt64.fromUint(60),
    HashType.SHA3_512,
    secret,
    recipient,
    NetworkType.MIJIN_TEST
);
const tx1Signed = account.sign(tx1);
proof            : e5adb5477158dc6eb1d4
secret           : 6C750493D886EF0E6C28F5170AF6D95FB369365FD22A4D1ABFB4B1EFF658B62C05B0DF988193DB93BAE12A224AA8B2CD74B0AAF0C5D00DCEC2EB3A1ECD02B82C
tx1Signed.hash   : 0BAEA6CC16458A879A5F35B67F2D0887E9BA231AC41615542994B7AEAF5B3695
tx1Signed.signer : 5D9513282B65A12A1B68DCB67DB64245721F7AE7822BE441FE813173803C512C
tx1Signed.payload: EA000000E6F041760011EF8A65ED3297EF4FE14D88AC100FD66498AC6DF6E08A756F06381AC519ED6C2EC22066E4AA17D33309E94A647927F6982D9C89164D63978DEB045D9513282B65A12A1B68DCB67DB64245721F7AE7822BE441FE813173803C512C03904C42000000000000000029315A571300000029CF5FD941AD25D500E1F505000000003C00000000000000006C750493D886EF0E6C28F5170AF6D95FB369365FD22A4D1ABFB4B1EFF658B62C05B0DF988193DB93BAE12A224AA8B2CD74B0AAF0C5D00DCEC2EB3A1ECD02B82C90758EB47C28D6143BAA3DE6A8D9C319B503A1BFD8E789E9E2

項目 データ
サイズ EA000000
署名 E6F04176 0011EF8A 65ED3297 EF4FE14D 88AC100F D66498AC 6DF6E08A 756F0638 1AC519ED 6C2EC220 66E4AA17 D33309E9 4A647927 F6982D9C 89164D63 978DEB04
公開鍵 5D951328 2B65A12A 1B68DCB6 7DB64245 721F7AE7 822BE441 FE813173 803C512C
version 0390
type 4C42
fee(l) 00000000
fee(h) 00000000
deadline(l) 29315A57
deadline(h) 13000000
mosaic id(l) 29CF5FD9
mosaic id(h) 41AD25D5
amount(l) 00E1F505
amount(h) 00000000
duration(l) 3C000000
duration(h) 00000000
hashAlgorithm 00
secret 6C750493 D886EF0E 6C28F517 0AF6D95F B369365F D22A4D1A BFB4B1EF F658B62C 05B0DF98 8193DB93 BAE12A22 4AA8B2CD 74B0AAF0 C5D00DCE C2EB3A1E CD02B82C
受取人 90758EB4 7C28D614 3BAA3DE6 A8D9C319 B503A1BF D8E789E9 E2

SecretProof

結果

| 項目 | サイズ | 意味 |
|:---:|:---:|:---:|:---:|
| サイズ | 4byte(LE) | トランザクションサイズ |
| 署名 | 64byte | トランザクションへの署名 |
| 公開鍵 | 32byte | 署名者の公開鍵 |
| version | 2byte(LE) | 0390 |
| type | 2byte(LE) | 4C43 |
| fee(l) | 4byte(LE) | 手数料 |
| fee(h) | 4byte(LE) | 手数料 |
| deadline(l) | 4byte(LE) | 期限 |
| deadline(h) | 4byte(LE) | 期限 |
| hashAlgorithm | 1byte | ハッシュアルゴリズム |
| secret | 64byte? | シークレット |
| proof size | 2byte(LE) | プルーフのサイズ |
| proof | variable | プルーフ |

調査

const account = Account.createFromPrivateKey('31B96EEB0C7FD6F8FB6B4ED09A9EB142A42B194AFBEB9EB52F0B79889F22326E', NetworkType.MIJIN_TEST);
const tx4 = SecretProofTransaction.create(
    Deadline.create(),
    HashType.SHA3_512,
    secret,
    proof,
    NetworkType.MIJIN_TEST
);
const tx4Signed = account.sign(tx4);
tx4Signed.hash   : 3FC4C117ED990892F0BA666615712ECE2A2B9CC3B328380ED72A0AFE4BCFE7B4
tx4Signed.signer : 3390BF02D2BB59C8722297FF998CE89183D0906E469873284C091A5CDC22FD57
tx4Signed.payload: C5000000663BA80DDA408D33DC495570064E8B194F4F3EA47B27FFB8C880B9CB271799D9E90EC6903B5C2498139F1CDC8BB2425B32C92AA8AABBB3FA0F31FDC6A790B6083390BF02D2BB59C8722297FF998CE89183D0906E469873284C091A5CDC22FD5703904C43000000000000000048ADD75713000000006C750493D886EF0E6C28F5170AF6D95FB369365FD22A4D1ABFB4B1EFF658B62C05B0DF988193DB93BAE12A224AA8B2CD74B0AAF0C5D00DCEC2EB3A1ECD02B82C0A00E5ADB5477158DC6EB1D4
項目 データ
サイズ C5000000
署名 663BA80D DA408D33 DC495570 064E8B19 4F4F3EA4 7B27FFB8 C880B9CB 271799D9 E90EC690 3B5C2498 139F1CDC 8BB2425B 32C92AA8 AABBB3FA 0F31FDC6 A790B608
公開鍵 3390BF02 D2BB59C8 722297FF 998CE891 83D0906E 46987328 4C091A5C DC22FD57
version 0390
type 4C43
fee(l) 00000000
fee(h) 00000000
deadline(l) 48ADD757
deadline(h) 13000000
hashAlgorithm 00
secret 6C750493 D886EF0E 6C28F517 0AF6D95F B369365F D22A4D1A BFB4B1EF F658B62C 05B0DF98 8193DB93 BAE12A22 4AA8B2CD 74B0AAF0 C5D00DCE C2EB3A1E CD02B82C
proof size 0A00
proof E5ADB547 7158DC6E B1D4

関連

nem catapult バイトレベルで理解する その1 トランザクションハッシュ
https://qiita.com/planethouki/items/d7a7fc7adf8c8bc48668

nem catapult バイトレベルで理解する その2 TransferTransaction
https://qiita.com/planethouki/items/025d44f2ebe6cfcb4b1f

nem catapult バイトレベルで理解する その3 トランザクション署名
https://qiita.com/planethouki/items/932d96ee17bd4f305368

nem catapult バイトレベルで理解する その4 Cosignature Transaction
https://qiita.com/planethouki/items/fcac3c9d329b0278c4b7

nem catapult バイトレベルで理解する その5 SecretLock/Proof Transaction
https://qiita.com/planethouki/items/4c91c2e6c722283c50f1

nem catapult バイトレベルで理解する その6 空ブロック
https://qiita.com/planethouki/items/da717595a1ff58d0d84f

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?