I have been so busy lately !

I finally find some time to write an article that, I hope, will help a lot of you guys creating great DApps.

How to use Web3js with INFURA

So this is a new trend that I personally find pretty cool. The idea is to do 100% of the identity / transaction management in the browser and sending the signed transactions directly.

Although in theory this approach is pretty awesome, it is still very cutting edge and the tools are not mature yet to work with them without any issues.

Disclaimer

This is my experience with doing this. I'm not pretending my approach is the best and actually I would love to hear your feedback. How can I improve that?

Dependencies

eth-lightwallet: This is the library I have used to generate the accounts. Right now it was used to generate accounts by using a user generated seed but hopefully in the future it will be able to use other means.

ethereumjs-tx: This library is needed to stringify the transaction so you can sign it.

web3: This is the web3js library

hooked-web3-provider: This library is used to add code so you can sign the transactions locally instead of the Ethereum node

web3-provider-engine: This is also needed to tweak web3js so that most of the handling is done locally.

Configuration