A token is a contract with a list of addresses and their balances and some functions to query and update the balances.
The hard parts are creating great user experiences, developing secure smart contracts and deciding the requirements for your token.
Everyone can contribute.
It is still very early on. If you find something, ask a question, you may have found something new, if it is, raise an issue, create a Pull Request (even for a typo), improve the ecosystem for everyone.
I recently made my first Pull Request to OpenZeppelin
I think once you’ve been in the space for even a little bit of time, you forget how much of a cosmic shift in thinking blockchain and especially smart contract dev can be. It’s not just a little bit of new syntax, there are whole new paradigms even for seasoned developers. So my number 1 recommendation is if something doesn’t make sense (which can an extremely demoralising thing for a beginner), just stick it out. Odds are, pretty soon it will just click, and you’ll have your own personal eureka moment.
Always keep a Remix tab open. For those idle moments when you think “I wonder if I could do this with a smart contract”, you have a perfect environment right in your browser to find out, and its probably a better use of brain space than scrolling through Facebook/Reddit/Instagram/whatever.
Build stuff, deploy it, write about it. Don’t worry if it’s not perfect, just build for the landscape we have. Odds are every single Dapp that exists now or will exist in the next few years will eventually be looked back upon in the same way we scoff at 90’s era websites. Who cares?! The road to a decentralised future will be paved with our collective failures. Embrace it.
I think CryptoZombies is great for helping new people in the space.
I Ethernaut, learning is great when it’s fun. Plus everyone developing smart contracts needs to be thinking about security.
I spotted a typo last night, so I better get on with a PR
Thank you very much. It got better than it was before. Your absolutly right. This stuff is pretty new, - and since the change from solidity 0.4 -> 0.5.x things with information resources running wild (eg. Medium), because most of the exampe resources (not openZeppelin) need to be ported first to make them run. This is a little bit tough when you start learning.
And as well web3js has done the same…
So that’s why I like so much openZeppelin. It just makes things so much easiser and better
Anyway, I still struggeling with a robust real world robust development toolchain that a can use for real world teaming stuff. So when I’m trough all the stuff may be am able to make some contributions by example. - But it will take some time until I can explain why and how avoid pitfalls.
I’m still a new developer, but here are some things I’ve learned so far.
Don’t fixate on the destination, enjoy the journey.
When I first started learning how to code, I kept thinking about the minute I could say, “I figured it all out. I’m done learning, and I can start buidling.”
As I learned to code that first month, I realized I’ll never learn it all. If everyone waited to learn everything there is to know about programming, nothing would get done. And there’s always something to learn when building in a space that grows as fast as blockchain.
Find something about the act of coding or purpose in your project that makes you excited to keep working on it consistently. It’s a marathon, not a race.
Consistency > Everything.
This kind of extends my last point. It takes more than a few hours a week to learn a foreign language. Otherwise, I’d be fluent in German and Spanish now. Same goes for programming languages. Practicing every day, even a little, goes a long way for learning.
Don’t be afraid to learn something too hard.
This might be counterproductive if you think this will scare you away from learning. But in my experience, it can really jump start the process. It also gives you a clear idea of what to expect in the future if you continue.
I started watching Solidity and Dapp tutorials around the same time I was learning the basics of Solidity. I probably understood 20-30% of what was happening. But it introduced me to a ton of the tools and resources I would need to use down the road.
For me, it was helpful to see a little further down the path so I never felt unsure of what to do next.