I’ve noticed a few posts about finding materials on how to learn to write smart contracts. I relate to a lot of these situations as I was in the exact situation. I found it hard to find a good collection of resources for an aspiring ethereum developer. I know there are the docs, but I found the lack of courses or well-presented materials dishearting.
I’m curious am I the only one or are there others like me?
Are you an Aspiring Solidity Programmer? If you are, please comment. What was your first project and what tools did you use?
3 ·
Comments
Consensys is starting its academy shortly which will offer 10 week courses and an opportunity to work for Consensys themselves if they're impressed enough.
I know how you feel about the current state of resources, but I assure you it's much easier now than say a year ago. the knowledge base on ethereum.stackexchange.com in particular is much greater and many programming problems have solutions there.
There are numerous Gitter channels worth joining though I personally don't find the IM format particularly conducive to leaning.
The Solidity docs themselves are generally well maintained from version to version and a definitely required reading from cover to cover so to speak.
Solidity on its own can be deceptively simple and can lead to troubles if it's written without a complete understanding of the EVM itself. The official specification for the Ethereum consensus protocol, i.e, the 'Ethereum Virtual Machine (EVM)' is Gavin Wood's Yellow Paper, which is also required reading. It's heavy in discreet maths but well worth digesting over time, even if you don't know much discreet maths, it makes for a good inspiration to learn it.
Studying other code is obviously advised and there are numerous patterns and anti-patterns which are now well documented. Study the broken contracts, such as TheDAO and understand where they went wrong. Some of those historic anti-patterns have now been mitigated by later version of Solidity though syntaxes not fully depreciated so pays to be aware of what they were and what replaced them.
Enough for now. Feel free to bring up questions and discuss projects here. As a mod, I'd like to see a lot more development focus for this forum and am happy to support new dev's here when time permits.
We're building a blockchain with multi signature options platform on the Ethereum blockchain with Solidity by a small team with 2-3 backend developers, one web developer.
We’re utilizing the blockchain for life & death matters. Video conference call tomorrow Saturday July 29th @9am to discuss the project.
Please let me know if you're interested in conference call information.
Thanks for your time.
Looking forward to learning Solidity.
I've also got a second (paid) course where we walk through building a Million Ether Homepage. There we walk through how to build the smart contracts for bidding on pixels, potential pitfalls, and how to build the UI.
http://truffleframework.com/blog/learn-ethereum-the-fun-way-with-our-pet-shop-tutorial
In my opinion writing smart contracts and Dapps needs another mindset from traditional coding paradigms. Just like we shifted from c to c++, went from dbase3 likes to relational database management systems, from monolith programs to multi-tier design and from bare metal to microservices.
Different technology = different approach = new ways of doing things.
Happy to help out.
JB
Debugging is still clunky but much better than it use to be. The Javascript VM is ok for prototyping but has significant behavioural differences to a real EVM.
Careful with remixd. It autosaves every few seconds and can get out of sync with the Remix tabs and end up wiping your code completely and saving 'undefined' to the file. Always close remixd before the remix code tab at the end of work cycle