秘密鍵、公開鍵、アドレスのセットはAPIのgenerateを使っても取得出来ますが、秘密鍵はやはり秘密にしておきたいものなのでローカルで生成します。(前回参照)
アプリ起動時に毎回秘密鍵を直接入力するのは逆にリスクなので、ユーザの決めたパスワードなどで暗号化して端末に保管します。
ゲームのアイテムなどをMosaic化するような場合、一つのアドレスを誰もが使いまわせるようでは意味がありませんので、そのアドレスが本当にそのユーザのものか確かめる必要があります。
アドレスの所有権を確認するということは、そのアドレスの秘密鍵を所持しているかを確認するということになると思います。
当然、秘密鍵を直接送る訳にはいきませんので、都度サーバ側から送られてくる文字列に署名して、公開鍵と一緒に送り返すなどで検証します。
署名の検証には、先ほども利用したEd25519DsaSignerを利用します。
Ed25519DsaSignerの準備が出来たら、verify()メソッドに元データと署名を渡すことで検証します。