Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support a MyMonero-compatible wallet #4

Open
woodser opened this issue Aug 21, 2019 · 8 comments
Open

Support a MyMonero-compatible wallet #4

woodser opened this issue Aug 21, 2019 · 8 comments
Labels
help wanted Extra attention is needed

Comments

@woodser
Copy link
Owner

woodser commented Aug 21, 2019

This issue requests support for an implementation of the MoneroWallet.js interface which allows the wallet's view key to be shared with a 3rd party in order to offload processing of incoming transactions.

By implementing the MoneroWallet.js interface, the adapter will conform to this library's specification and plug into existing tests.

@woodser woodser changed the title Support a MyMonero-style wallet Support a MyMonero-compatible wallet Aug 21, 2019
@woodser woodser added the help wanted Extra attention is needed label Mar 15, 2020
@pitersky
Copy link

Hello! Our wallet software are now using MyMonero-compatible backend, we are considering to switch to monero-javascript implementation if we be able to run it alongside our backend services. @woodser what you think basically needs to be done on monero-javascript side to accomplish this? I am now lurking through the source, just looking how hard it may be to do it.

@woodser
Copy link
Owner Author

woodser commented Oct 28, 2020

Ideally another implementation of MoneroWallet.js is added to monero-javascript which supports a MyMonero-style backend. Then applications like yours can use a single library and wallet interface to manage multiple wallet architectures.
Currently monero-javascript supports monero-wallet-rpc (MoneroWalletRpc.js) and fully local wallets using WebAssembly (MoneroWalletWasm.js and MoneroWalletKeys.js for local keys-only management) which can be used alongside your current implementation.

To support a MyMonero-style backend in monero-javascript, a new wallet implementation would be added, e.g. src/main/js/wallet/MoneroWalletRemoteViewKey.js, which extends and implements the methods of MoneroWallet.js.

For testing, we'd use the existing test suite to test the new wallet implementation by adding a new test class, e.g. src/test/TestMoneroWalletRemoteViewKey.js in the same style as the existing TestMoneroWalletRpc.js and other wallet test classes.

It would be great getting help to support such a backend by conforming what you have to the MoneroWallet.js interface for inclusion in monero-javascript.

@woodser
Copy link
Owner Author

woodser commented Oct 28, 2020

@pitersky Do you have a link to your work for reference?

@pitersky
Copy link

Appreciate description very much, thank you, that helps a lot. I don't have any code to share yet, if you mean it by "my work". Anyway I have started to work on this issue. I plan to make a PR if I will get it to work.

@devinpearson
Copy link

@woodser would something like this speak to what you're looking to do here.

https://github.com/mymonero/mymonero-utils/tree/master/packages/mymonero-wallet-manager

This package uses https://github.com/mymonero/mymonero-utils/tree/master/packages/mymonero-lws-client for speaking to the server and https://github.com/mymonero/mymonero-utils/tree/master/packages/mymonero-monero-client to use the wasm code.

Trying to reduce the complexity of wasm files where possible is an ongoing process. The idea is to extend this to allow an rpc connection if a person chooses to use it that way.

@woodser
Copy link
Owner Author

woodser commented Dec 1, 2021

@devinpearson Yes it looks like these assets could be used to implement the interface in monero-javascript, MoneroWallet.js, by sharing the wallet's view key with a light wallet server for scanning.

@trasherdk
Copy link
Contributor

And this one Monero light-wallet Server

@devinpearson
Copy link

@trasherdk monero-lws is supported in the package I’ve linked. OpenMonero should be as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants