3

I want to implement a system that users can sign and send transactions (from their Ethereum account, which -for now- I assume exists) with just a GUI, and maybe asking them to enter their address and password (if necessary, the private key too).

Thanks to @TjadenHess, I found myetherwallet which does what I want to achieve. The GUI involves copy/pasting the generated code, but it's still easier than running geth (or another software that can connect to Ethereum) and typing the commands manually.

How can I implement such a system? Should I (my application) be running the software on a remote server and let people use it for a while, or should I ask/help them to install the necessary software (as part of my application, like Ethereum Wallet does with geth) on their devices and generate and execute the commands for them?

Is any of these options possible? If so, I would much appreciate any directions on how / where to implement such a system.

Thanks,

  • I'm pretty sure that the geth module just starts and stops geth. You need to actually have it installed on the machine. Do you have geth installed? – Tjaden Hess Nov 7 '16 at 0:31
  • I thought npm installing it locally and deploying it to Heroku would work, but I have no idea :) If it's not possible, maybe I should turn my machine into a public server and setup Node.js here? I just want to create an interface where users can interact with Ethereum without having to manually run geth commands. – jeff Nov 7 '16 at 0:56
  • 1
    Yeah, a Heroku app isn't going to be enough. You'll probably want to use AWS. – Tjaden Hess Nov 7 '16 at 0:58
  • @TjadenHess thanks for the help. Now I see that maybe running geth on a server is not what I need. I just want to make a client that lets users send (and sign) transactions from their account, and maybe help them create (and buy Ether into) their account. My question looks like going too broad, so -after waiting a little while- I will close it. I would really appreciate any suggestions for how / where to implement such a system. – jeff Nov 7 '16 at 1:40
  • Do you mean something like myetherwallet, or something like metamask? – Tjaden Hess Nov 7 '16 at 1:45
3

If you need inspiration, myetherwallet is open-sourced.

I believe the best way to do what you're looking for is to simply write a static HTML page which users can download and load in a browser on an offline computer, then copy and paste the signed transactions.

You can use the EthereumJS libraries to implement transaction signing.

1

One solution is for the users of your Dapp to use https://metamask.io/#how-it-works

Ultimately, it does about what you want: running a node somewhere that is not the PC of the user. It's not on the server of your app and require a third party app though.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.