こんにちは。メルコイン フロントエンドエンジニアの@y-arimaです。
この記事は、Merpay & Mercoin Tech Openness Month 2025 の18日目の記事です。
本記事では、Web版メルカリからメルコインAPIへの疎通確認を行ったPoC(Proof of Concept)について、技術的な課題と解決策、そして得られた知見を紹介します。
背景と目的
現在、メルコインの機能を利用できるWebサービスは存在しません。そこで、技術的な検証として、Web版メルカリからメルコインAPIにアクセスできるかどうかを試してみることにしました。
今回のPoCでは、Web版メルカリからメルコインAPIへの疎通確認を主な目標とし、技術的な実現可能性を検証しました。
技術的な課題と解決策
1. 認証設計の複雑さ
既存のWeb版メルカリの認証システムは独自のユーザーID体系を使用していましたが、メルコイン側のマイクロサービスは異なるクラスタに存在しており、セキュリティ上の理由からそのIDをそのまま受け付けない仕様となっていました。
この問題を解決するため、プライバシーを考慮した識別子(PPID: Pairwise Pseudonymous Identifier)を利用する新たなOIDC(OpenID Connect)クライアントを作成する必要がありました。PPIDは、異なるサービス間でお客さまを安全に識別するための仕組みです。PPIDの詳細については、以下の記事をご参照ください。
2. インフラ周りの設定
メルコインAPIへのアクセスを可能にするためには、Gatewayやネットワーク周りなどのインフラ設定が必要でした。普段フロントエンドエンジニアとしての業務がメインの私にとって、この辺りは馴染みの薄い領域でした。
しかし、アーキテクトチームやSREチームなどさまざまな方にサポートいただき、必要な設定を進めることができました。この経験を通じて、マイクロサービス間の連携には多くのチームの協力が必要であり、またフロントエンドエンジニアとしても、インフラストラクチャーの知識の重要性を実感しました。
3. 未知のコードベースでの開発
今回のPoCでは、普段触れることのない複数のリポジトリでの作業が必要でした。大規模なコードベースを短期間で理解し、必要な修正を加えていく必要があり、これは大きなチャレンジでした。
この課題に対しては、最新のAIツール(特にCursorなどのAI搭載エディタ)を積極的に活用することで対応しました。特に新たなOIDCクライアントの設定では、普段触れることのないTerraformのコードを修正する必要がありました。しかしCursorの機能を活用して既存のOIDCクライアントの設定を分析し、その構造や仕組みを理解した上で、新しいクライアントの設定を進めることで、開発効率を向上させることができました。
実装の成果
今回のPoCでは、以下の2つの機能を簡易的に実装することで、Web版メルカリからメルコインAPIへの疎通確認を行いました:
- ビットコインの価格をチャートで表示する機能
- 取引報告書をダウンロードする機能
これらの機能実装を通じて、認証やAPI通信、ファイルのダウンロードなど、さまざまなパターンでの疎通確認を行うことができ、Web版メルカリからメルコインAPIへのアクセスは技術的に実現可能であることを確認できました。
PoCを通して学んだこと
一人での限界と効率的な進め方
PoCを進める中で、フロントエンドエンジニア一人でこのような大規模な検証を完遂することの難しさに直面しました。このような状況を受け、多くのチームの方々に協力いただきましたが、PoCという性質上、本番開発に比べて優先度が低く、各チームへの依頼が完了するまでに時間を要することも少なくありませんでした。そこで、未経験の領域にも果敢に挑戦し、「まずは自分でできることを探る」という姿勢で取り組むことで、チーム間のコミュニケーションコストを抑えつつ、効率的な開発を進めることができました。
AIツールの活用
前述した未知のコードベースの理解促進はもちろん、チャート機能や取引報告書のダウンロード機能の実装においても、AIツールは大きな効果を発揮しました。
開発の流れとしては、以下のプロセスを繰り返しました。
- Cursorに要件を伝えてコードを生成
- 細部を自分で調整 または Cursorを活用して修正
- 動作確認
- 問題があれば2に戻る
この方法により、極めて短期間で機能を完成させることができました。
また、これらの機能の実装では、フロントエンドエンジニアとして普段から慣れ親しんでいる領域だったことが、AIツール活用の大きなアドバンテージになりました。
正しいコードの形が頭の中にあるため、Cursorが生成したコードの良し悪しを即座に判断でき、適切な修正指示を出すことができたのです。この既存知識とAIツールの組み合わせにより、開発スピードは格段に向上しました。
複数のチームとの効率的なコミュニケーション
メルカリグループのエンジニアリング組織は大規模であり、複数のチームから構成されています。
PoCを進める上で「誰に質問すれば良いか」が最初は不明でした。この問題に対しては、メルカリ全体のアーキテクチャを横断的に把握していアーキテクトチームに最初に相談し、必要なタスクと担当チームを特定しました。その後は、複数のチームに並行して質問や相談を行うことで、開発のブロッカーを最小限に抑えながら効率的に進めることができました。
まとめ
今回のPoCでは、Web版メルカリからメルコインAPIへのアクセスが技術的に実現可能であることを確認できました。この検証を通じて、フロントエンドエンジニアとしても認証やインフラなど、システム全体への理解を深めることの重要性を改めて実感しました。
また、AIツールの活用や効率的なチーム連携の方法など、今後のPoC開発にも活かせる知見を得ることができました。
この記事が、同様の技術的挑戦に取り組む方々の参考になれば幸いです。
明日の記事は @keitasuzukiさんです。引き続きお楽しみください。