🏆

新卒エンジニアがWeb3の国際的なハッカソンに参加!

に公開

はじめに

この記事は、技術スタックの深掘りというよりも、新卒エンジニアとして Web3 エコシステムに触れて感じたことや経験を共有することを目的としています。

その題材として、今回参加した以下のオンラインハッカソンの雰囲気や面白さを、少しだけみなさんにお届けできればと思います。

https://ethglobal.com/events/ethonline2025

国際的なハッカソン主催団体 ETHGlobal が開催する、2025 年のオンライングローバルハッカソン
「ETHOnline 2025」 に参加しました。

参加者は 87 カ国・1670 名・634 チーム
そして、我々は4名で構成された、組織横断型のチームです。
開発期間は 日本時間 10/11(土)午前 1:00 〜 11/01(土)午前 1:00
この間に、プロジェクト概要の記入、GitHub での公開、プレゼン動画の提出などを完了させる必要があります。

Web3 の定義

「Web3」という言葉は、一見するととても抽象的でわかりにくいものです。
ですが、一般的には次のような特徴が“Web3 的”なものとしてよく語られます。

  • 中央管理者に依存しない “分散型インターネット” の概念
  • ユーザーがデータ・アカウント・資産を自分で保持する自己主権型 Web
  • 暗号技術とコンセンサス(合意形成)に基づき、信頼を実現する “トラストレス Web”
  • トークンや NFT など、ネイティブデジタル資産をインターネット上で扱える環境
  • ウォレット(秘密鍵)を中心とした新しいアイデンティティモデル
  • 企業サービスではなく、オープンプロトコルが中心に据えられる Web
  • ユーザーが参加し、価値が循環し、コミュニティが成長するエコシステム

エンジニア的な説明をするなら、

バックエンドを“中央サーバ”ではなく“ブロックチェーン(分散台帳)”に置いた Web アーキテクチャ

…と伝えるのが、最もシンプルで誤解が少ないと思います。

Ethereum(イーサリアム)

Web3 のアプリケーションが動くプラットフォームとして、最も広く使われているのが Ethereum です。
https://ethereum.org/

  • スマートコントラクト(自動で実行されるプログラム)
  • トークン(資産)
  • DApps(分散型アプリケーション)

など、多くの Web3 プロダクトは Ethereum、またはその互換チェーンの上で動いています。

ブロックチェーンというと「仮想通貨の基盤」と思われがちですが、Ethereum は
“手数料を払ってプログラムを実行するための世界コンピュータ”
というイメージの方が近いです。

Web3 のプロダクトを作るのであれば、一度は触れることになるチェーンと言って良いでしょう。

ETHOnline 2025

ETHOnline は、Ethereum やその周辺の Web3 技術をテーマにした オンライン特化のグローバルハッカソン です。
主催は Web3 ハッカソン界隈では有名な ETHGlobal で、世界中の開発者が数週間のあいだオンラインで開発し、最後にプロダクトを提出します。

ざっくり言うと、こんなイベントです。

  • オンライン開催の 巨大技術コンテスト兼ハッカソン
  • テーマは「Ethereum / Web3 を使った新しいプロダクトづくり」
  • 各社スポンサー(PayPal, インフラ系 L2, ツールプロバイダなど)が「この技術を使って何か作って!」というお題と賞金を出す
  • 参加者は個人 or チームで参加し、数週間で
    • プロダクト開発
    • GitHub 公開
    • デモ動画作成
    • プレゼン資料作成
      を仕上げて提出する
  • 期間中は、オンラインのメンターセッションやスポンサーのテックトーク、他チームとの交流などもある

イメージとしては、

「Web3 版・技術同人即売会+プロダクトコンテスト+オンライン合宿」

のような感じです。
普段 Web2 で開発しているエンジニアにとっては、

  • 世界中の開発者と同じ土俵で戦える
  • 実プロダクトレベルの Web3 インフラを一気に触れる
  • 「お題」があるので、手を動かしながら学べる

という意味で、かなり実戦的な学習の場になっています。

この記事では、その ETHOnline 2025 に参加した中で自分たちが作ったプロジェクト
「CrossDonate」 について紹介していきます。

本プロジェクトについて:CrossDonate


CrossDonateのロゴ

一言でいうと?

CrossDonate は、複数チェーン・複数トークンの寄付を「1つのアドレス」にまとめて受け取れる Web3 寄付基盤 です。
寄付者もプロジェクト側も、チェーンやトークンの違いを意識せずに寄付のやり取りができるようになることを目指しています。

Web2 の世界で例えるなら、

どの銀行・どの通貨から振り込まれても、
受け取り側は 1 つの口座で受け取れて、
裏側で自動的に指定の通貨に両替してくれる仕組み

ブロックチェーン版 です。

概念図(現状)

現時点の CrossDonate の動きは、以下のような流れです。

  • 寄付者(user)は どのチェーン・どのトークンでも OK
    例:Base のステーブルコイン、Ethereum の ETH など
  • すべての寄付は 共通の CrossDonate アドレスに送るだけ
  • 裏側では
    CrossDonate スマートコントラクトがブリッジ & スワップ処理 を担当し、
    寄付を 1 つのチェーン・1 つのトークンに集約
  • プロジェクト運営者は、指定したチェーン上の 1 種類のアセットとして 簡単に引き出すだけ

寄付者にとっては「ただ送るだけ」、
プロジェクト側にとっては「1つの財布を見ていれば十分」。
これが CrossDonate が提供したい現在の UX です。

将来像(今後の発展)

将来的な CrossDonate は 「受け取る」だけでなく「そのまま他プロトコルに寄付する」 ところまでを自動化します。

  • 寄付者の体験はそのまま:
    Any Chain / Any Token → 1つの寄付アドレスに送るだけ
  • 裏側で CrossDonate が
    • ブリッジ & スワップ
    • 外部寄付プロトコル(例:Giveth)のコントラクト呼び出し
      まで自動実行
  • プロジェクト側は「どこで最終的に受け取りたいか」を選ぶだけで、
    クロスチェーン寄付と既存エコシステムの統合利用 が可能に

つまり CrossDonate は、
「寄付の入口」を統一しつつ、「出口」を自由に選べる世界 を目指しています。

CrossDonate が提供する体験

ここまでの図を踏まえると、CrossDonate の価値は次の 2 点に集約されます。

寄付者:とにかく「送るだけ」

  • 好きなチェーン・好きなトークンで送金できる
  • ブリッジやスワップの事前操作は不要
  • 寄付の入り口を共通化することで、寄付ハードルを大きく下げる

プロジェクト側:1つのアセットで管理

  • 寄付は裏側で CrossDonate が 自動で集約 & 変換
  • ダッシュボードから
    • どのチェーンからいくら集まったかを一覧表示
    • 「全部 USDC にして送金」といった操作がワンクリックで可能
  • 会計・管理の負担が圧倒的に軽減される

CrossDonate はこのように、
「寄付者の手間を減らしつつ、プロジェクト側の資金管理をシンプルにする」
という 2 つの課題を同時に解決するために設計されたプラットフォームです。

ざっくり技術的にはどうなっているか

細かい実装の話は後で書きますが、ざっくりいうとこんな構成です。

  • 統一アドレス
    • CREATE2 という仕組みを使って、
      複数チェーンに「同じコントラクトアドレス」をデプロイ しています。
      → 寄付者から見ると「チェーンが違っても同じアドレスに送ればよい」状態になる
  • クロスチェーン変換
    • Avail Nexus SDK を使い、裏側でトークンのブリッジ&スワップを自動処理
      → 寄付者・プロジェクト所有者の両方から、クロスチェーンの複雑さを隠蔽
  • ノンカストディアル設計
    • 資金の最終的なコントロールは、
      プロジェクト所有者のウォレット(EOA)だけが持つ ように設計。
      プラットフォーム側が勝手に使えるような構造にはしていません。

MVP では、

  • フロントエンド:Next.js 15 + React
  • スマートコントラクト:Solidity + Hardhat
  • ネットワーク:Sepolia / Arbitrum Sepolia(テストネット)
  • 寄付トークン:ETH, PYUSD など → Arbitrum 上の USDC に自動集約

という形で、「とりあえず動くところまでをハッカソン期間内で作る」 ところまで辿り着きました。

ハッカソンの結果

ETHOnline 2025 では、CrossDonate は 3つのスポンサー賞 を狙って開発を進めました。
どれもプロジェクトの方向性と強くフィットしており、最初から明確にターゲットを定めて挑みました。

🎯 狙ったスポンサー賞と狙った理由

1. PayPal 賞(PYUSD 部門)


狙った理由:
CrossDonate の寄付集約モデルと、PayPal のステーブルコイン PYUSD は相性が抜群。
「安定した寄付の受け取り体験」をテーマにしているプロダクトとして、
PYUSD の統合は必須だと考え、積極的に取り組みました。

取り組んだポイント:

  • USDC と PYUSD を中心にした寄付フローの実装
  • プロジェクト運営者が簡単に資産を変換できる UX づくり
  • PYUSD を扱う上での安定性と安全性の確保

2. Avail 賞(クロスチェーン部門)


狙った理由:
CrossDonate の核となる「クロスチェーン寄付の自動集約」は、
Avail の Nexus SDK があってこそ成立する仕組み。
技術的な親和性が最も高く、この分野で本気で勝負できると感じていました。

取り組んだポイント:

  • 複数チェーンに散らばった寄付のリアルタイム集約
  • ブリッジ & スワップの自動化
  • Frontend から直接 Nexus SDK を組み込んだ UX 設計

3. Hardhat 賞(開発ツール部門)


狙った理由:
スマートコントラクトの開発基盤を
Hardhat V3 + Viem + Ignition という最新構成で組み上げたことが大きなポイント。
CrossDonate の“開発者体験の良さ”をアピールできると考え、この賞も狙いました。

取り組んだポイント:

  • Hardhat V3 のフル活用
  • 型安全なテストとデプロイの整備
  • ガス効率とセキュリティを意識したコントラクト設計

🎬 一次選考(First Cut)で行ったこと

ETHGlobal のハッカソンでは、まず 一次審査(First Cut) が行われます。
これは「プロジェクトの提出物をもとにした事前審査」で、ここで評価されないと
二次審査(Finalists)には進めません。

CrossDonate が一次選考のために行ったのは次の 3 点です。

  1. プロジェクトページの提出

    • コンセプト、課題設定、実装概要
    • 使用した技術やアーキテクチャの説明
  2. GitHub リポジトリの公開

    • スマートコントラクト
    • Next.js フロントエンド
    • Nexus SDK との統合部分
    • 動作する MVP の状態で提出
  3. 3分以内のデモ動画の作成・提出

    • 実際に寄付が複数チェーンから送られる様子
    • CrossDonate ダッシュボードで集約される様子
    • PayPal(PYUSD)、Avail、Hardhat など
      狙った賞に合わせた機能を明確に見せる構成

🏁 結果:一次選考(First Cut)を通過!

CrossDonate は、この一次審査(提出物+デモ動画)を 無事に通過しました。

ETHOnline 2025 全体では
87 カ国 / 1,670 名 / 634 チーム が参加。

一次選考は「Finalists に進む候補を絞り込むためのフィルタ」で、
提出物が一定の品質・完成度に達しているか が問われる段階です。

ETHGlobal の情報によると、
最終審査(Finalists)へ進めるのは 上位20% 程度(約120チーム)

CrossDonate が一次審査を突破したということは、

「634 チームの中で、Finalists 候補として十分な完成度がある」と判断されたラインに入った

ということになります。

これは、初参加のプロジェクトとしては大きな成果でした。

うれぴーー

🎤 二次選考で行ったこと

ハッカソン最終日の流れはなかなか壮絶でした。

  • Avail のスポンサーセッションが終わったのが 23:30

    Availのスポンサーセッション
  • そこから各種資料を仕上げ直し
  • ETHGlobal のピッチは深夜 1:00 開始

    ETHGlobalのセッション

オンラインとはいえ、完全にハイテンションのままピッチに突入。
3分という限られた時間で CrossDonate の価値・構造・体験を全力で伝えました。

⚖️ 最終結果:ファイナリストには届かず

惜しくも二次選考(Finalists)には進出できませんでした。
そして、スポンサーの賞も貰えませんでした。
ただし、今回狙った 3 部門はどれも CrossDonate の思想と合致しており、
技術面でも実装面でも非常に大きな手応えがありました。

最後に

ETHOnline 2025 への挑戦を通して、
Web3 の広さ・奥深さ・スピード感を全身で体験することができました。
技術的な学びはもちろんですが、グローバル規模のハッカソンで
世界中の開発者と「同じ土俵で戦う」経験そのものが、何より刺激的でした。

新卒としてまだまだ未熟な部分も多い中で、

  • 短期間での実装力
  • 未知の技術に飛び込む姿勢
  • チームで価値を形にするプロセス
    こうした要素を、実戦の中で一気に学ぶことができたのは大きな収穫でした。

何より、今回の挑戦がここまで形になったのは チームメイトのおかげです。
同じプロダクトを真剣に磨き上げ、深夜まで議論し、互いに助け合いながら作り上げた時間は、
自分にとってかけがえのない経験になりました。

チームメンバー

Special Thanks
コアチームメンバーではないのに、たくさんの意見や助言などをいただきありがとうございました!

  • Yosukeさん
  • airinterfaceさん

今回の挑戦を糧に、CrossDonate を 本当に使われる Web3 寄付基盤 へと成長させていきます。
そして、自分自身も Web3 / Web2 双方で価値を届けられるエンジニアとして、
さらに成長していきたいと思います。

おまけ

HARUKIさんからの記事、「【初心者向け】Availで学ぶモジュラーブロックチェーン!Nexus SDKで実現する未来のUXとは?」をぜひご覧ください!Web3の技術スタックを理解するための種になると思います!

https://zenn.dev/mashharuki/articles/avail-nexus_1

ここまで読んでいただき、ありがとうございました!

Appendix

本プロジェクトのGithub

https://github.com/mashharuki/ethglobal-online-2025

デモ

https://ethglobal.com/showcase/crossdonate-2t47g

デジタルガレージ DG Technology本部

Discussion