gocoin icon indicating copy to clipboard operation
gocoin copied to clipboard

[Feat] Remote Wallet Support

Open humblenginr opened this issue 1 year ago • 1 comments

Introduction

This PR introduces support for the Remote Wallet functionality as specified in this spec.

Description

This PR introduces its changes in the remote-wallet directory. There are two architectural components this PR introduces:

  1. WalletRemoteClient - in remote-wallet/client
  2. WalletRemoteServer - in remote-wallet/server

The common package in remote-wallet/common serves as a single source of truth for the communication between the client and server by defining message types and other common things.

The WalletRemoteServer is supposed to be run on the machine where the user's wallet is present. The WalletRemoteClient is a package that is used by the Gocoin node (see here).

This PR adds a new endpoint to the WebUI server for handling the sign_transaction request. The UI is also modified to accommodate the Sign Transaction button.

humblenginr avatar Jul 04 '24 09:07 humblenginr

I have added support for realtime connection status update in the UI, and refactored some code, and enhanced error handling.

Screen Recording:

https://github.com/user-attachments/assets/376e3e05-1393-4a00-afa4-4515365d781e

In the frontend side, the user experience can be enhanced further by adding support for notifications, loading states, etc.

Todos:

  1. Improve the transaction signing confirmation user experience in the client side
    • Show details of transaction when asking for confirmation

humblenginr avatar Jul 11 '24 22:07 humblenginr