カタパルトで使われるデータをさくっと変換するWebサイトつくりました

# はじめに

カタパルトで何かしらの何かを作っているとき、ちょっとした確認として、RESTを直接たたくことがあるかと思います。

そんなとき、こんなことで困ることがあるかと

- 公開鍵が必要になる
- UInt64で返ってくる
- アドレスがHEXで返ってくる
- メッセージがHEXで返ってくる

プログラム中であれば、レスポンスを変換するように記述すればいいのですが、たたいたRESTの値をコピペして変換するプログラムを走らせるのは、いささかおっくうです。

そこで作りました。Webサイトに値をコピペすれば全部変換してくれるやつ。

https://helper.48gh23s.xyz

サンプルボタンを押せば、どんなデータを入れたらどんなのが返ってくるのかが例示されます。

あとは、とにかくサンプルボタンを押していけば、何かが返ってくる。ただただボタンを押していくだけの楽しみ方もあるかと思います。実際、何回かやりました。

以下は、機能の羅列と一言コメントです。

## アカウント編

### 秘密鍵から公開鍵

**非推奨です。**いろいろ使えるでしょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/d52b0e4d-2ead-96ab-17db-a941e6d16e62.png)

### 公開鍵からアドレス

いろいろ使えるでしょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/6f311575-5d62-7ff4-3174-45a4635b084b.png)

### アドレスデコード

BASE32形式からHEX文字列にします。いろいろ使えるでしょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/da8ab8c9-50c9-f88b-83d2-3d58aedd6fdf.png)

### アドレスエンコード

HEX文字列からBASE32形式にします。

[トランザクションのAPIレスポンス](https://pastebin.com/CYtxLHPi)では、recipientがHEX文字列なので、ここで変換しましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/880857bf-cb25-5259-e5eb-1c7e2599ed58.png)

### アドレス整形

ハイフンをとってくれます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/c16856c7-3c23-1ee9-115f-a411e91b1037.png)

### 署名作成

**非推奨です。**なんかのデータに署名します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/0aa29e23-2287-4daf-810d-18c06bb84b86.png)

### 署名検証

あまり使う機会はなさそう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/65de767e-fe57-78c3-db09-717b32672b4d.png)

## ネームスペースとモザイク

### ネームスペースID

ネームスペースからIDを計算します。`/namespace/:namespaceId`をコールするときに使いましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/916e619e-8976-9b39-ded4-8cd3ba5a8eaf.png)

### サブネームスペースID

同上

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/54dd9c4a-72c8-bcd0-d280-8c6aff59a73e.png)

### モザイクID

モザイクからIDを計算します。モザイク名を入力して出てきたIDと、RESTの結果に表示されているIDを照合するときに使えます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/943f337d-f4e5-3315-0613-9ae78d0eaa69.png)

## トランザクション

### Base64トランザクションハッシュ

昔のLockFundsトランザクションは、ターゲットのハッシュがBASE64で返ってきたので、、、

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/c0b4ad0e-e5c5-beda-be16-3934cfbedaa3.png)

### トランザクションタイプ

RESTのトランザクションリストで、何のタイプか判別できなくなったときに

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/47431a64-d7b6-e5cf-6831-f2bcaddc8d9c.png)

### SHA3 256

いろいろ使える

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/d3afa841-4fc1-5a58-974b-6b3be3000946.png)

### SHA3 512

Secret Lockトランザクション向け

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/6e7a0957-8005-9500-b0b8-af8ee9a2fbbb.png)

### ハッシュ

トランザクションのHEXデータからハッシュを計算。まるごとハッシュ化ではないので、作りました

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/3b7bc1a1-d6ae-7ad7-8945-518b22f736e5.png)

## その他

### 10進数、16進数

なにかと使える

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/6124f157-a4d4-f7e6-e2bb-e1e78a616e36.png)

### ビッグエンディアン、リトルエンディアン

なにかと使える

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/68b7aa0b-d666-5a94-6c4c-13fb58803cc3.png)

### UInt64から10進数

なにかと使える。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/5f422f4f-f9e7-162c-ef91-beed1a51c07e.png)

### カタパルトタイムスタンプ

使ったことない。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/60bd6b2e-7990-15ff-56a6-5dfb1c11a554.png)

### 16進数メッセージ

意味のあるメッセージを入れたときに使えそう

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/3a856e0b-e7f2-f145-5237-47ebf38e38ba.png)

## ネットワーク依存

### 残高

他人の残高を確認したいときに

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/f171aa7e-7698-986f-894b-dbd497cf6a32.png)

### ネームスペース

存在する全部のネームスペースを取得するのはできないんです。なので、アカウントに紐づくネームスペースのリストです。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/838535b4-8ea0-ccbe-118d-f93952ebfbad.png)

### モザイク

存在する全部のモザイクを取得するのはできないんです。なので、ネームスペースに紐づくモザイクのリストです。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/8e1b6cd0-868c-2864-ea36-14cf8b0a0932.png)

### マルチシグ図示

マルチレベルマルチシグ対応。マウスオーバーすると、アドレスがツールチップ。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/172833/fccf5680-a9f0-153a-4eb2-d943f0747449.png)

# さいごに

要望とかあればissueへお願いします

https://github.com/planethouki/nem2-helper-web