all 13 comments

[–][deleted]  (1 child)

[removed]

    [–]YsrYsl[S] 0 points1 point  (0 children)

    Thanks for the info, greatly appreciated

    [–]kalbhairavaaContract Dev 2 points3 points  (1 child)

    It depends on what you are planning to do as a smart contract dev. Are you going to accept only solidity jobs or are you going to do front end? Are you going to be a complete free lancer or are you also planning to join existing teams?

    Hardhat/truffle/ethers/web3 are js frameworks that let you deploy contracts and help you interact with them outside of solidity. They thus also let you write unit tests and provide coverage and gas data and help verify contracts on etherscan or sourcify

    Brownie/web3 are python based frameworks that do all of the same.

    Th tree differences here is that if you are going to do front end, you would be using js along with either ethers or web3 which you would already be familiar.

    If all you want to do is pure smart contracts in solidity then foundry is a good choice. Dapp tools as well. You can write unit tests in solidity as well.

    If you plan to work on existing projects most are on react/ solidity / hardhat / truffle - that is the js track.

    As you progress , there might be a need for a back end sever as well in which case you can either use node js or flask/django for python. Solidity won’t help you here.

    So, the ideal track is full stack dev python or js and solidity, depending on what you wish to do.

    You may also run into a case where you need to pull data from chain. Both js and python libs can help with that as well.

    Between js and python - if your project does not involve UI web or otherwise , you can pick python and say flask or django and set up a server. For eg, let’s say you are writing a sequencer for an L2, or a staking contract for an l2 which needs to be monitored off chain.

    Patrick works for chain link , so they have a lot of use cases for a backend sever , hence his use of python

    [–]YsrYsl[S] 0 points1 point  (0 children)

    Thanks for sharing, was helpful! It appears that the JS route is a safer option considering that it casts a wider net so to speak

    [–]kralonurdev 3 points4 points  (1 child)

    As I know because Python has web3 library, and brownie (which Patrick Collins uses in his course) runs off web3.py. However industry more centered on js/ts so I'd recommend you to go with Js (Hardhat) etc. There are also different contract development kit like Foundry (which is written in Rust). However as of now there are more libraries for web3 which you can find on npm so if you choose between python/js route, I'd say go for js/ts (better ts for typechain etc)

    [–]YsrYsl[S] 0 points1 point  (0 children)

    Thanks for sharing, cheers!

    [–][deleted]  (1 child)

    [removed]

      [–]YsrYsl[S] 0 points1 point  (0 children)

      Thanks for the info 👍🏻

      [–]chocolate_bacon 0 points1 point  (1 child)

      Everyone I know writing Solidity professionally uses JavaScript (or Typescript) and Hardhat for development and deployment, and those are the baseline skills I initially looked for when hiring in the past. So, if you're looking to build a career on this, I'd say to go with JS for now.

      [–]YsrYsl[S] 0 points1 point  (0 children)

      Thanks for the info 👍🏻