Multi Send ERC1155

Multi Send ERC1155 とは?

ERC1155トークンを複数のアドレスにまとめて送信するためのツールです。
NFTを他人に送る手段としてメジャーなのがOpenSeaのTransfer機能です。
この機能はGAS代が掛からないという大きなメリットがありますが、一度の送信で一つのアドレスしか指定できず、Giveaway企画などで沢山の人に送る際は腕を腱鞘炎する必要があります。
数百、数千のトークンを配ろうとしている人の腕を守り、軽率に大量配布のGiveaway企画を実行できるようにするため本ツールを開発しました。

対応チェーン

Polygonのみ。
メインネットのトークンを送信したい方はMulti Send ERC1155の旧版をお使いください。
メインネットやその他チェーンも対応してほしいという要望があれば開発者(https://twitter.com/ytenden)まで連絡をお願いします。

料金

サービス利用料 + アドレス数分の送信のGAS代が掛かります。
サービス利用料は以下の通りです。
チェーン
1アドレスにつき掛かる金額
支払いトークン
Polygon
0.02
Matic
※料金は今後変わる可能性があります。

使い方

事前準備(OpenSeaで発行したトークンを送る際に必要)

1.サイト上部の事前準備のメニューを広げる。 2.配布を行いたいトークンのコントラクトアドレス、トークンID、数量を入力。 3.SENDボタンをクリックし自分宛てにトークンを送信。 ※なぜこの手順が必要なのかは、本ドキュメント下部の「Open SeaでMintしたトークンの注意事項」をお読みください事前準備(OpenSeaで発行したトークンを送る際に必要)事前準備(OpenSeaで発行したトークンを送る際に必要)事前準備(OpenSeaで発行したトークンを送る際に必要)
1.サイト上部の事前準備のメニューを広げる。
2.配布を行いたいトークンのコントラクトアドレス、トークンID、数量を入力。
3.SENDボタンをクリックし自分宛てにトークンを送信。
※なぜ事前準備が必要なのかは、本ドキュメント下部の「Open SeaでMintしたトークンの注意事項」をお読みください

手順

1.サイトアクセス時にMeta Maskを接続。保有しているERC1155トークンが一覧表示されます。
2.送りたいトークンを選択します。
3.テキストエリアに送信先のアドレスを貼り付けます。 (一度につき300件まで)
4.SENDボタンを押します。
 入力されたアドレスのフォーマットがおかしい、保有数 > アドレス数 などの場合はエラーメッセージが表示されてるので入力アドレスを適宜修正してください。
5.Meta Maskで「SET APPROVAL FOR ALL」の要求を承認します。(初回利用時のみ)
6.Meta Maskで サービス利用料の支払いと転送処理を行うトランザクションを承認します。

余談

OpenSeaに仕様変更があり自分へのTransferが制限されました。
ツールに機能を追加したため、現在は「使い方」で記載した方法で自分宛てにトークンを送れますが、それまでは直コンで事前準備をする手順としていました。
直コンでトークンを転送しなきゃいけない機会がまた今後来るかもしれないので、メモ書きとして過去の手順もここに残しておきます。
入力項目
関数:safeTransferFrom
パラメータ:
  _from:自分のウォレットアドレス
  _to:自分のウォレットアドレス
  _id:トークンID
  _amount :Transferしたい数 Mintした数を入力でOK 
  _data  :「0x0」 使用しないパラメータなので0xから始まる形式ならなんでもOK

Open SeaでMintしたトークンの注意事項

  • Polygonチェーン かつ フリーズしてないトークンの場合、本ツールでは画像や名前が表示されません。 Token IDから送信したいトークンを識別してください。 未フリーズだとメタ情報がうまく取れないためこのような仕様になってますが、トークンの送付自体は問題なくできます。
  • Multi Send ERC1155を使う前に、送信したいトークンを全て自分宛てにtransferしてください。Open Seaで発行するトークンはmint時のクリエイターのガス代負担を無くすため、Lazy Mintingという機能を搭載しています。 この機能により、Open SeaのUI上でMintした直後のトークンは実はブロックチェーン上ではまだMintされていない状態になります。 売買が成立したり、クリエイターが手で送付をしたりして、トークンのTransfer処理が走るタイミングでmintされます。 Multi Send ERC1155はMint済みのトークンしか扱えないため、事前のTransferの実施をお願いします。
参考:Openseaのコントラクトソースコードを調査してみる