Skip to content

shinji19/rock-paper-scissors

Repository files navigation

rock-paper-scissors

環境構築

# install node:20.3.0
npm install
npm run dev

or

docker compose up -d
docker compose exec frontend bash
npm install
npm run dev

実行の流れ

Vite___React___TS

何を考えて実装したか

  • Solidtyを書くときにテスト・デプロイを簡単にするために、メジャーなhardhatを利用
  • フロントはメジャーなReact(Vite)を利用。ブロックチェーンの繋ぎ込みはEthers.jsを使ったことがあるので、これを利用
  • 主催者のジャンケンの手を秘匿化
    • ハッシュ化した手を保存
    • ハッシュ化した際に使ったソルトをlocalStrageに保存しておき、勝敗判定する際にソルトをコントラクトに送り、手に問題ないことを検証
    • 主催者は対戦相手が手を登録した時点で勝敗がわかるため、自分が負けていると勝敗確定しないケースがありえる。対策として、一定時間経過すれば対戦相手がデポジットされた資産を受け取れるようにした

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published