8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ハーベスト報酬をお知らせするHarvesPing(PWAアプリ)を作りました。

Last updated at Posted at 2025-08-21

PWAのWebプッシュがどれくらい使えるようになったのかの技術検証も兼ねて、ちょっとしたアプリケーションを作成してみました。

アドレスを登録すると、ハーベストが発生したことをプッシュ通知でお知らせしてくれるアプリケーションです。

現状ではまだ、iOS safariとAndroid Chromeのそれぞれ最新版くらいしか想定できていません。

ソースはちょっと整理がついていないので、公開はまだできてません。

使い方

まずは上記のページを開いてください。

PWAで動作させることが前提のため、iOS/AndroidそれぞれでPWAインストール操作を行ってください。

harvesping-1.jpg

PWAとして起動したら、ボタンを押下してください。

harvesping-2.jpg

プッシュ通知を受け取るために、許可してください。

harvesping-3.jpg

これで準備完了です。

harvesping-4.jpg

アドレスの追加

下のメニューから「追加」を押下すると、アドレスの追加画面に移動します。
ここにアドレスを入力してください。
スマホで入力するにはちょっとしんどいかもしれません…
コピペで貼り付けていただければと思います。
ほかに、任意の名称をつけることと、メモ書きを入れることもできます。

なお、自分が所有していないアドレスでも登録できます。
このアドレスは残高上位でたくさんハーベストしていたアカウントを参照しています。
さすがのこのレベルになると十数ブロックごとにハーベストしていて、ただただすごい…って感じです。

ND6ON2UXUPF22RPABBFHTKFBXXWPXTSLDJV242Q
NCCAVFXZMYXZ4MF2HWFTH5YAYJJDQRSAR76DDPY
NDZJTOCGG2OX6ITKTLSSENJUO7TGQHE5XACE4BI
NCYC4ZKWPC3RNOHDOVH3RHLF5PTPMY2JYB6RK6Y
NCCNHTTKGDQOZRBN3IGBLKIHKVWC4D6MZGQJJHI

どなたか存じませんが、この辺のアドレスが富豪だったので、お借りして登録するとたくさん通知を受けられると思います。

harvesping-5.jpg

追加するとアドレスの詳細画面に移動します。
これで準備は完了です。
アプリは閉じてしまってください。

harvesping-6.jpg

ハーベスト通知

設定したアドレスにハーベストがあると、プッシュ通知が届きます。

harvesping-7.jpg

通知をタップするとアドレスの詳細画面が開き、ハーベスト履歴も確認できます。

harvesping-8.jpg

なお、PWAの仕様上、ネイティブアプリほどぴったりとは通知してくれません。
ロック画面を解除したときなど、スマートフォンがアクティブになってはじめて処理される場合もあります。

そもそもハーベスト自体、かなり運任せですし、あまり気にしても仕方がないので、通知が届いたらちょっとうれしいな、くらいの気持ちでいると良いと思います。

アプリの削除

直接アプリを削除してもいいのですが、できれば「設定」メニューから「アプリの削除」を行って欲しいです。
ある程度アクセスがないアカウントはこちらで判断して削除しますが、この操作を行っていただければ即時に情報を削除します。

harvesping-9.jpg

harvesping-10.jpg

機能としてはこれくらいのものです。

よく見るとおまけ機能があります…

ぜひ祈ってみてください。

技術スタック

  • PWA
    • Svelte
  • Firebase
    • Hosting
    • Firestore
    • Functions
    • Messaging

大まかにこの辺の技術を利用しています。
iOSでもWebプッシュ通知ができるようになって久しいですが、まだまだ色々とうまく行かないことだらけでした。
この辺は検索結果やAI回答でどうにかこうにか動かしたレベルなので、整理がついたらソースを公開しようとは思いますが、まだちょっと時間が必要です。

Svelteも面白そうなので使ってみています。
Reactよりも気軽でいい感じです。

登録して頂いたアドレスのハーベストを定期的(15分間隔)に取得し、新しいものがあれば記録して、通知を行っています。

トランザクションの監視というと、WebSocketがCatapult RESTには実装されていますが、双方向通信としてコネクションを維持し続ける必要があり、バックグラウンド通知としてはちょっと不向きなものです。

今回はFirebaseのMessagingを用いていますが、WebPush自体は外部サービスを用いずとも(厳密に言うとプッシュサーバを経由しますがそれは別のお話)実装できるので、プラグインとしてRESTサーバにその機能をもたせる、なんてこともできるかもしれませんね。

プッシュ通知やメール通知、HTTPフックを呼び出してもらうために、XYMを支払う、なんて仕組みができたら面白いかもしれません。

ハーベスト委任者にはこういったサービスをノード運営者が提供する、なんてのもありなんじゃないでしょうか。

まとめ

ちょっとアカウント情報のロードが遅かったりして、初期画面が長く表示されてしまう、など細かい部分で詰めが甘いのですが、追々改善していこうかと思っていますので、ご期待いただけると。

必要十分な実装はできていると思っているので、十分使い物になると自負していますが、うまく通知されないこともあるかもしれません。

一応数百ユーザーくらい抱えても大丈夫…だとは思うのですが、ちょっと自信はありません。
また、予告なくサーバ側の通知処理を停止する場合があるかもしれないのでご了承ください。
さらには、OSのアップデートで仕様が変更され、動作しなくなったり、修正したら古いバージョンで動かなくなるかもしれません…。
それくらい、WebPushの実装は不安定のようです。(特にiOSが。特に、iOSが。)
ちょこちょこ改修を入れていくかもしれないので、温かい目で見守っていただければと思います。

自分のスキルセットとして、ネイティブアプリは経験がないのと、やはりストアの都合やコストが厳しいという点で、WebやPWAでいろいろなことを実現していきたいというのがあります。

ハーベストは10,000XYMから参加できますので、1円前後をウロウロしている今(2025年8月)なら、1万円前後で参加する権利を得られます。
ハーベストの設定方法は検索すればいくらでも出てくるので、そちらにお任せするとして、一度設定してしまえばほとんど何もする必要はありません。

そして、このアプリでアドレスを登録しておけば、報酬の通知が届くので、ちょっとした幸せを感じることができるかもしれません。

『お前もXYMホルダーにならないか?』

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?