Which version of web3 should you use?

TLDR: web3-beta 1.0.0-beta.55

npm install web3@1.0.0-beta.35

If you have worked with web3 before, you might have noticed a few…. glitches to say the least. The most annoying thing is that some features tend to break randomly from one release to the other. How can we deal with this, and which version of web3 should we use when we develop Dapps?

First, let’s go back in time a bit. Back in the days, web3 version number used to be pre 1.0. These were the “ancient” days of web3, when the library was still quite immature. Sometime last year in 2018, the version was bumped to 1.0, a sign that it has become mature and more stable. As it is customary for the first releases of a major version, the first releases were still unstable: these are the beta releases. Usually open-source projects have a few of these beta releases before they reach a normal, stable state. But in the case of web3 these beta releases just kept coming… As of June 2019 we reached the beta version 55 (sic!), and still no stable release in sight.

I have been searching across repos of other frameworks in the Ethereum industry, and here is my finding: most of them have stoped at the beta version 35, the most stable. For example, Drizzle does it, as well as Truffle. So, I would recommend you to the same:

npm install web3@1.0.0-beta.35

Alternatively, you could change your library to etherjs if you really don’t want to deal with web3 anymore.

Leave a Reply

Your email address will not be published. Required fields are marked *