Alternatives to web3.js

jklepatch

Web3.js is the leading client library for Ethereum. Personally, I am fine with it, but I know that some developers don’t like it because of the beta that never ends, and some random regressions happening between in recent releases. In anycase, it’s always good to know some alternatives so that we can compared. In this article, I will introduce the pros and cons of 3 alternatives:

(Keep in mind that these are all Javascript alternatives. But they are many other web3 alternatives in other languages like Java).

Ether.js is the strongest competitor to web3.js. It is a bit more lightweight than web3, is implemented in typescript, and has some interesting features for creating custom wallets. It is also a bit more stable than web3 (less random bugs).

Truffle-contract is not very well-known because it’s hidden inside the monorepo of the truffle framework. It is used internally by Truffle to fullfill the same role as web3. That’s why when you interact with a smart contract in the Truffle console, the API is not the one of web3. The advantage is that if you want to work with Truffle it provides a better integration with the framework, in particular to import the contract artifact with the deployed() method.

Ethjs is even less known than Truffle-contract. It is a lightweight alternative to web3, even though it’s actually based on web3. Out of all these web3 alternatives, I would say that it’s the easiest to learn.

Which of these are you going to try?

More great articles

Graph of memory locations in Solidity: storage, calldata, etc…

In Solidity smart contracts, there are 4 memory locations: storage memory stack calldata They all have different lifetimes and it's…

Read Story

How I Got 2 jobs As A Blockchain Developer | Real story

There are a few other articles /videos that claim to explain how to get a job as a blockchain developer.…

Read Story

Solidity vs Javascript arrays

https://youtu.be/MPBOnChpi0c Solidity arrays... are like Javascript arrays, right? Nope.. In Solidity: Arrays can only contain data of the same type…

Read Story

Never miss a minute

Get great content to your inbox every week. No spam.

    Only great content, we don’t share your email with third parties.
    Arrow-up