I'm started a new Dapp project, and I trying to find the best way for a quick prototype (back and front end dev). I most familiar with Python, so I search every element than I can to build a Dapp in Python, and I'm asking me if the Python environnement 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 Apr 18 '18 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 Apr 18 '18 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 Apr 18 '18 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 Apr 18 '18 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 Apr 18 '18 at 21:37

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

| improve this answer | |
  • 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 Apr 17 '18 at 20:11
  • web3.py gitter is very friendly and with little patience you get good responses – Mikko Ohtamaa Apr 18 '18 at 7:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.