hackdays-io/mint-rally

Create a function that allows event organizers to receive information about past events

Closed this issue · 3 comments

改善詳細 / Details of Improvement

  • イベントIDを渡したら、必要参加回数、IPFSのURLなどの情報を配列にして返す
  • setEventInfo() を参照

期待する見せ方・挙動 / Expected behavior

  • 過去のイベントの情報をコピーして、簡単に似た内容のNFTを発行できるようにする
  • 例えば1回参加の人の画像、3回参加した人の画像、などのように複数が設定されている

動作環境・ブラウザ / Environment

  • スマコン

@yu23ki14
コードを見たところ、 requiredParticipateCount (スペシャルNFTに必要な参加回数)はコントラクトに保存されていないように感じられたのですが、そのような認識でよかったでしょうか?

この場合、

  1. 新しく変数を作成してストレージに保存していくようにする
  2. eventNftAttributes[Hashing.hashingDoubleUint256(_eventId, )]; に該当イベントIDとともに1~Nを順番に入れていき、戻り値が "" でない場合に配列に格納してリターンする
    の2通りを思いつきました。

1の場合、取得は早いが、既に記録されたイベント情報は取得できない。
2の場合、取得は遅いが、既に記録されたイベント情報も取得できる。

というメリットデメリットがありそうなのですが、何か他にいいやり方などありましたら、教えていただけると有難いです🙏

また2の場合、Nをいくつにするかという問題がありまして、該当グループの総イベント回数をNにした場合、例えば100回目の超スペシャルNFTのようなもの(まだ誰も取得不可能だが将来的に可能になる設計)は引き継げなくなるなと考えてました。

アドバイスをいただけると嬉しいです🙏

コントラクトに保存されていないように感じられたのですが、そのような認識でよかったでしょうか?

はい、そのとおりです。個人的には2の実装方法で、offsetとlimitをつけるというのが良いかなと思っていました。offsetとlimitはEventManager.solのgetEventRecordsを参考になるかと!

なるほど!
こうすればいいのか…!
ありがとうございます!!