I am trying to integrate the wallet API into my own application (which will be installed by my userbase) so that I can send Monero to my own address.

I understand that a transaction needs to be created using the create_transactions_2 function. This function then goes ahead and calls

transfer_selected_rct -> construct_tx_and_get_tx_key -> generate_key_image_helper

The problem that I am trying to understand is that the generate_key_image_helper function makes reference to m_spend_secret_key. So, if that means I need to hard-code my own wallet secret_spend_key into my application for this function to work properly ... how can I do this securely, such that any of the people using my application won't be able to extract my spend key and transfer funds out of my account?

  • "so that I can send Monero to my own address" <- This is a little confusing. Why would you have your users (who are using your app) send your XMR to yourself? Perhaps elaborate as it's not clear to me at least. Also, to use a wallet one needs access to the blockchain. In 99% of the use cases using the wallet-rpc is the best option.
    – jtgrassie
    Sep 14 '20 at 4:54
  • My app is being made to help encourage people to use privacy aware coins. The currency system is being built on XMR since I feel its the most well-documented coin to use. Users are rewarded for certain milestones they reach, but Users also lose currency based on certain actions which they (may) perform, or are incurred. The app itself is built on a wallet interface, so I need to understand how this can be done internally without ruining the security aspect of the central wallet. Sep 14 '20 at 5:00
  • So with that said, I want to have the payments interface as a wrapper on top of my own code base. Any way to do this without exposing my own secret spend key? Sep 14 '20 at 5:02
  • Also, if I was to use the wallet RPC ... why is it that I don't need to provide my secret spend key to perform transactions, where as in the actual wallet code it uses it? Sep 14 '20 at 5:10
  • 1
    Ah okay! Got it :) Thanks for all your help jtgrassie Sep 14 '20 at 6:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.