I understand there are accounts and we unlock them in geth/eth. If we are providing a service to a user community what is the design pattern envisaged to enable users to perform transactions under their own accounts?

I am led to believe you cannot unlock an account in the web3 API. Maybe I am not understanding something but I am struggling to see how to provide a service to a user base.

I want to enable my users to create instances of my prescribed contracts and have their counterparties collaborate with functions on that contract.

2 Answers 2


I think the vision is create a safe software environment (Mist) where the contract can request that a transaction be made, but explicit permission is required from the user within Mist. i.e. a pop-up that summarises the transaction and asks for a password.

There is a video of this in action here: https://www.youtube.com/watch?v=Ij5tGo8cp80 (at 7:16)

Here he selects an identity from a drop-down to use when interacting with the GUI. The GUI responds to his identity and hooks everything up accordingly. When initiating the transaction (by just pressing the button), Mist summarises the deal and asks for his password.

It's a pretty rad example actually. Something clicked when I saw that :)


It is possible as long as you handle the wallet address and keys, including private key and password.

You can use ConsenSys/eth-lightwallet along with hooked web3 provider to unlock the account on the go. See Signing Function definitions for code example for unlocking on the go, if you have all the keys/hashes

  • I have been looking at eth-lightwallet and have not figured out how it helps unlock accounts. It is clear "calls" work with hooked web3 provider but any transactions have to be done through a txutils. And the example for that does not use web3. Still researching.
    – Interition
    Apr 21, 2016 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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