I've started a new Dapp project, and I'am trying to find the best way for a quick prototype (back and front end dev). I'm mostly familiar with Python, so I search every element than I can to build a Dapp in Python, and I'm asking if the Python environment is enough mature to be used with Ethereum.

By maturity I'm asking what language is the most popular with the best community, with a good stability, and with the best integration in the framework Truffle/Ganache ?

Thanks !

  • "I'm started a new Dapp project" -- do you want users to visit and use your Dapp in the browser? Then you'll have to write that part in web3.js. If you have other automation tasks that interact with the blockchain, you might prefer web3.py. It's more a matter of how you want to use it than which one's more mature.
    – carver
    Commented Apr 18, 2018 at 1:06
  • Yes I want some users on my Dapp, throught web browser , but why I couldn't use web3.py with python web framework like Django or bottle ?
    – Lbrth_BoC
    Commented Apr 18, 2018 at 5:36
  • You can use web3.py on the server side, but only for some aspects of the Dapp. For example, users won't be able to sign transactions to interact with your contract. For that, you need web3.js set up on the client side of the Dapp.
    – carver
    Commented Apr 18, 2018 at 15:43
  • I don't understand why I couldn't use web3.py on the client side if I use Django web framework by example ? It's not possible to use web3.py by setting up function which be call from the front end ?
    – Lbrth_BoC
    Commented Apr 18, 2018 at 20:42
  • As we can see here : ethereum.stackexchange.com/questions/13128/… - We can use Web3.js with Node.js, so why we couldn't use a similar logic for python ?
    – Lbrth_BoC
    Commented Apr 18, 2018 at 21:37

1 Answer 1


Benefits of web3.js

  • JavaScript is the only language that runs inside web browsers and thus you do not have another option when building user facing interfaces

  • web3.js community is larger due to JavaScript being de facto frontend langauge

Benefits of web3.py

  • Please note that you can also use web3.py on desktop apps, command line, server side programming and testing environments

  • Code interacting with smart contracts is easier to read and follow because of using threads

  • Testing frameworks and testing our smart contracts with web3.py comes with more mature tooling, making it easier to write more readable and maintainable tests

  • Python is the language of the next gen EVM development (Casper) and better for research purposes

  • Very interesting response, thanks ! According to you web3.py seems to have a great future in the Ethereum ecosystem and I'm definitively agree with you Python is more readable than javascript. But effectively, the community is more active in JavaScript and according web3.py GitHub some bug are still open. But nevermind I will try to build my project with python, let's see if it's works !
    – Lbrth_BoC
    Commented Apr 17, 2018 at 20:11
  • web3.py gitter is very friendly and with little patience you get good responses Commented Apr 18, 2018 at 7:24
  • 1
    web3.py doesn't support eth_subscribe github.com/ethereum/web3.py/issues/1402 Commented Dec 15, 2021 at 8:21

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.