What benefits does the use of following bring to my Ethereum application if I wish to interact smart contracts for sending multiple transactions, upload files on blockchain, etc.?

  1. bower
  2. web3js
  3. nodejs
  4. golang apis

Can someone please explain the advantages and dis-advantages of each one of them?

Also, which is the best choice for large scale projects?

1 Answer 1

  • Bower: no one uses bower anymore as package manager for browser libraries. Use Yarn or NPM.
  • Web3.js: the de-facto library for interacting with Ethereum in JavaScript and Node.js. It takes care of encoding payloads and generating the RPC calls. Very popular and heavily documented. Huge community. Web3 is not an Ethereum node; it's used to speak to Ethereum nodes.
  • Node.js: a popular server side language choice amongst web developers because of it's JavaScript syntax. You'll be using the web3.js library to interact with Ethereum.
  • Golang: go-ethereum (geth), the most popular Ethereum implementation, is written in Go. It's a complete Ethereum node. If you choose to build a dApp in Go, then you'll be using the go-ethereum libraries directly which means you can do everything the node can do. This is inherently the "web3.js" version for Go. Documentation is not as great but getting there. Check out the Ethereum Development with Go guide for an intro to dapp development.

Interacting with the blockchain in simple terms means that you'll be making RPC calls over HTTP. Any language will be ok but compiled languages such as Golang will get you the best performance if you require it.


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.