Discover Ethereum & Solidity

Back to All Courses

Lesson 19

Where to go from here

You're now at the end of the course, but hopefully just at the beginning of your journey as an Ethereum developer! In this last lesson, we will go through some handy resources and tools that you can use to keep your skills up to date.

Enhancing Tweether

If you want to keep iterating on the Tweether DApp that we've built, here are some ideas on how you can enhance it:

  • Use Drizzle to make your frontend more reactive. Drizzle is a library created by the Truffle team, which borrows many concepts from the popular Redux library. It makes it easy to keep track of your contracts' state on the web client, and automates several processes that typically require web3.js commands. It is however a very young library, so it will probably go through some breaking changes in the near future.

  • Register an ENS name. ENS is a decentralised name service for Ethereum that makes it possible to register short "domain names" for your Ethereum addresses. This can be a huge UX improvement for your users, especially if they interact with your contracts directly from their wallets. As an example, you could register the name tweethertoken.eth and point it to your deployed TweetherToken contract. That way, people could send ethers directly to tweethertoken.eth instead of copy-pasting an obscure HEX address.

Tools & utilities

The Ethereum ecosystem is in constant flux, with many ideas being proposed, discussed and developed in parallel. While this can often feel overwhelming, there are also new tools coming out every week that aim to simplify your workflow as a developer!

Ganache app

Ganache is a GUI for ganache-cli, the private Ethereum network launcher that we've used extensively throughout the course. This is also a creation from the Truffle team (those guys are on fire!), and it comes in the form of a downloadable desktop app.

It's often refreshing to be able to visualise your blocks and transactions through a clean UI instead of sitting behind the boring command-line program day in and day out!

EthPM

We didn't actually use this ourselves while developing, but it's an ambitious project that deserves a mention. EthPM aims to be the go-to package manager for Ethereum, in the same way that NPM has become the standard package manager for Node and JavaScript projects.

While the number of library's on EthPM is still quite limited, it's certainly a joy to be able to install the Zeppelin libraries in your project by running:

truffle install zeppelin

If you develop a smart contract library that you think other people would find useful, we definitely encourage you to upload it to EthPM!

Keeping up with the community

There are many sub-communities related to Ethereum, many of which are focused on the niche of speculating or investing in the ether currency. Personally, I find that to be quite boring, so here are instead some forums that you can visit to keep up with the development-side of Ethereum:

  1. /r/ethdev (Reddit).There's also /r/ethereum for more general news about Ethereum.

  2. The Ethereum community forum. The Ethereum website's official discussion forum has many subgroups, each focusing on different sides of developing decentralised applications.

  3. Ethereum's Gitter Channel is a great place if you want to chat with other Ethereum developers in real time and hopefully get quick answers to the spontaneous questions that might arise while building your DApps.

  4. Local Meetups! The Ethereum community spans across the globe, and chances are that there's a local Meetup group in your city that you can join. This is a great way to meet other like-minded people that you can share ideas with and learn from.

That's all folks!

Congratulations for making it to the end of the course! You should now have enough knowledge about Ethereum development to be able to create some wonderful things in this brave new decentralised world.

If you enjoyed this tutorial, you might also like my course on Elixir & Phoenix, where I teach you how to develop a real-time messaging app with functional programming patterns and cool frontend technologies like Redux.

Don't hesitate to leave a comment with some feedback, and if there are some other things that you'd like to learn more about on Ludu in the future, let me know! Good luck on your next adventure!