3/5に開催されたAstar×Slash Bounty Bootcamp HackathonのDEMO DAYに参加してきました。応募していたSlash PaymentさんのIntegrate Slash Web3 payments into Web2 services($2,000)の賞と、全体の中から選ばれるtv asahi "EXpect" PRIZE (¥300,000)を獲得することができました!
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2Ff415dc11ec50c21f49a11dde067010cdd5f9c061-5888x3925.jpg%3Fw%3D2000%26auto%3Dformat&w=3840&q=75)
この投稿では何を作ったか、どう作ったか、今後の構想について書こうと思います。
作ったもの
Amazonの欲しいものリストとSlashを組み合わせることで、Amazonで買えるものなら何でもクリプト決済で購入できる購入代行サービスを作りました。詳細は発表スライドをご覧ください
クリプトの世界とリアルの世界の距離はまだまだ遠いと感じていて、そこを近づけるサービスを作りたいと日頃から考えていました。
別件でNFT保有者のみが割引価格で購入できるECサイトを構築したりしているのですが、どうしても顧客の住所等の個人情報とEthereumのウォレットアドレスを知る必要があり、分散と匿名の観点から気持ち悪いなと課題を感じていました。
クリプト決済の素晴らしいツールであるSlashさんのハッカソンがあったことで真剣に考えて、誕生日にAmazonの欲しいものリストで匿名でプレゼントを受け取っている人たちを見てこのスキームを思いつきました。
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F6b627a0e9462fe21e6ac9d28e6341ea665a224fa-1716x966.png%3Fw%3D1716%26auto%3Dformat&w=3840&q=75)
どう作ったか
テックスタック
- Next.js + Typescript + Chakra UI
- Firestore
- Slash Payment
- Thirdweb Auth + Firebase Auth
僕のプロジェクトはMVPの時点ではほとんどこのNext + Typescript + Chakra UI + Firestoreという構成で作っています。簡単なものであれば一番サクッと実装できる気がしています。NextのAPIでサーバー側を簡単に実装できるのが好きな点で、vercelへのデプロイもスムーズです。
フロントエンドはChat GPTの手助けであっという間に出来上がりました。他のサービスから引っ張ってきたりしたコンポーネントも多いので、全部で3~4時間くらいでしょうか
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F71771cbf63b51d06aa04540803a9dacbef91fe4d-2102x1420.png%3Fw%3D2000%26auto%3Dformat&w=3840&q=75)
Slashの実装は公式ドキュメントのStandard Integrationを追っていけばできます。https://slash-fi.gitbook.io/docs/integration-guide/integration-guide/standard-integration
Thirdweb AuthとFirebase Authの連携はここを参考にしてみてください
https://github.com/thirdweb-example/firebase-auth
Firestoreのルール等セキュリティ面や、フロントエンドのUXは作り込んでもハッカソンの時点では評価に影響しないだろうと思いだいぶ犠牲にしました。
本当はAmazonの欲しいものリストのURLのみを入力してもらい、バックエンドでスクレイピングをして合計価格を算出するというUXを実現したかったのですが、ローカルでは動くスクレイピングのスクリプトがデプロイ後には動かず(エラーが出るのではなく商品がないことになる)、残念ながら諦めましたw スクレイピングが詳しい方いたら教えてください。
今後の展望
本格的にサービスをリリースするためにはかなりのハードルがあると思っています。
1. ニーズの検証
クリプトで日用品(Amazonでお買い物)をしたい人がいるのかどうかの検証をまずはする必要があると思います。2. 3. に入る前に10人限定でやってみたいなとは思っています
2. リーガルチェック
単純な購入代行で整理がつく気もするのですが、匿名でクリプト決済で物が買えるというのはAML的に問題があるような気もしますし、法的な専門家にアドバイスをもらう必要があると思っています。ご協力いただける弁護士の方がいればご連絡ください!!!!!
3. 運営への中央集権度の軽減。分散化
現状の仕組みは非常に運営(=僕)をトラストする仕組みになっています。その上僕のクレジットカードの上限がトランザクションの限界ですw プレゼントする側(Liquidity Providor)をオープンにして、たとえば一定のデポジットをしてもらい、問題が起きたらDAOで裁判をする形式にすることを妄想しています。
以上で今回の記事を終わります。
素晴らしい機会をくださった Slash、Astar、Akindo、テレ朝はじめスポンサーの皆さん、参加者の皆さん、ありがとうございました!