メインコンテンツまでスキップ

lesson-1_作成したdAppを使ってみよう

🚀 作成した投票の dApp を使ってみよう

前回まででコントラクト、フロントエンドを完成させましたね!

ここからはどのように機能するのかを確認して、自分が実装してきた機能を使ってみましょう。

まずはAdd Voter画面に移動して投票者を追加してみましょう。これはコントラクトをdeployした人しかできないので、コントラクトをdeployしたwalletのidでサインインしているかを確認してください。

前のセクションで作成したコントラクトをdeployしたwallet idとは別のwallet idに対して投票券を配布(mint)してみましょう。

配布先に使うwallet idを入力欄に入れてaddボタンを押してください。下のようなメッセージが返ってきていればOKです!

次に候補者を追加してみましょう。

Add Candidate画面へ移動してImage URI, Name, Manifestの入力欄を埋めてAddボタンを押しましょう。 Image URIについてはIPFSで保存されたもののCIDであればなんでもいいです。

こちらは有名なIPFSで保存できるサービスの1つであるpinataです。特にこだわりがない方はこちらで画像をアップロードしてみてください。

候補者のNFTのmintができたらHome画面に移ってみましょう。 下のように追加した候補者の情報が追加されていれば成功です!

では次に投票をしてみましょう。

先ほど投票券を配布したwalletのidでサインインし直してみてください。

画面右上のSign Outボタンを押せばSign In画面に行くことができます。

投票券の配布先に指定したwalletのidでサインインできたら、まずはコントラクトを作成したwalletのidでしか投票券を配布(mint)できないかをテストしてみましょう。

Add Voter画面へ移り先ほどと同じように別のwalletのidを入力欄に入れてAddボタンを押してみてください。下のようなメッセージが返ってきていれば成功です。

ではHome画面に移動して実際に投票をしてみましょう。

得票数が1になっている候補者に投票してみましょう!voteボタンを押して確認メッセージが出たらOKを押してトランザクションの画面に移ってapproveボタンを押しましょう。

下のように得票数が変化していれば成功です!

また、もう一度Voteボタンを押してみましょう。次のようにすでに投票していることがメッセージで来ていたら成功です!

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#nearで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の4点を記載してください ✨

1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット

これで投票アプリが機能できていることが確認できました!

では最後に次のレッスンでnetlifyにdeployして誰でも使えるようにしましょう!