見出し画像

SymbolユーザーからETHの手引き

こんにちは、
JBA Person Of the Year JAPAN 2023 No.1
株式会社NFTDrive代表取締役 ボー太郎です!

NFTDriveEXがマルチチェーン対応になるので改めて知っておいてほしい、注意点などをいくつかピックアップしました。

イーサリアム系とは


イーサリアムをベースに同じスマコンが動作するチェーン
EVM(イーサリアム・バーチャル・マシーン)に対応したもの。
同じスマコンが動くのでイーサで動けば対応しているPolygonなどでもそのまま動作する。これらをイーサリアム系EVM互換と呼ぶ。


1.アドレスの違い

SymbolではこのようなNからはじまる英数字で表されます。
NDCTGNHHNHZXAEESQQAN7JOVONWSQ2A2KZZ7Z2A

イーサリアムでは16進数での以下のようにあらわされます。
0bdb7dd2c3000756f13848818c9e26b751c4806a
先頭に16進数を表す0xをつけるとことが多いです。
0x0bdb7dd2c3000756f13848818c9e26b751c4806a

特徴としてはEVM互換なのでそのまま、ほかのイーサリアム系チェーンでも使えます。


2.ブロックの生成スピード

Symbolでは30秒
イーサ  15秒
polygon  2秒

数値は大体ですが、Symbolよりもブロックの生成が早いです。

3.承認されるまでの違い

トランザクションを送信してから承認されるまでにすこし違いがあります。

Symbolではトランザクションを送信したらこちらが何かできることはなく承認されるか、破棄されるか?を天に祈り待つだけになります。
送信の順番を特に意識することなく、手数料が大きければ優先的に取り込まれるといったことになります。
Nドラでは混雑する状況を自分で作りだしてしまうのでトランザクションの順番が前後します。

EVM互換ではNonceという通し番号でトランザクションが管理されていて必ず1つずつ処理されます。
1番目のトランザクションが処理されると2番目のトランザクションが処理されます。
1番目が処理されるまで2番目・3番目が送信されても処理されることはありません。(未承認トランザクションプールにキャッシュされます)
所謂、トランザクションが詰まるという状態になります。


ここで気を付ける点はトランザクションが承認されるまで何度でも同じ通し番号のトランザクションを上書きすることができます。

トランザクションが処理されない主な理由は手数料が不足している時です。
そのブロックに自分より手数料の大きいたくさんのトランザクションが入れば後回しにされます。
後回しになった結果、ずっと残るわけではなく定期的にキャッシュがクリアされる流れになりますのでいつか消滅します。(この辺は容量とか色々関係していると思われる)

トランザクションが詰まった場合、手数料を再設定(払っても良い限界を設定します)して全く同じ内容のトランザクションを投げることでより早く承認させることができます。(上書きしています。)
また、逆に別のトランザクションを、例えば100ETHを送金するトランザクションだったものを0ETHを自分のアドレスに送る にかえると事実上キャンセルすることができます。(上書きしています。手数料は掛かります。)


この未承認状態のトランザクションを処理する操作が大きく異なる点となりますのでご注意ください。
詰まった後何もしなければ消えるまでそのままになるのと、次のトランザクションを送信できませんのでNFTDriveEXウォレットの案内に従って操作してください。

4.NFTの表示について

NFTDriveEXではOpenSeaのAPIから取得します。
OpenSeaはチェーンネイティブの情報でないことに注意が必要です。

Symbolでは数あるパブリックノードから直接取得できるので即応せいが高いですが、OpenSeaを経由するためNFTの送信を行った直後は結果が反映されない事があります。
また、APIの制限に到達するとしばらく反映されなくなります。

5.残高などの表示

先のNFTと同様に残高などの情報もinfra.ioサービスに依存します。
APIの制限に到達するとしばらく反映されなくなります。

infra.ioやOpenSeaなどがダウンすると代替手段がありませんのでウォレットが機能しくなるという事に十分に注意してください。


6.トークンのID

SymbolではNFTをMOSAICという16文字の英数字で表します。

EVM系ではコントラクトアドレス+トークンIDで合わすことになります。
コントラクトアドレス/トークンとなります。
以下になります。
0x1ae15c0f2e3e0b98e076fd137f487ad690c1590c/16

トークンIDは衝突(被る)ことに注意してください。


以上となります。




この記事が気に入ったらサポートをしてみませんか?