Giving Compass' Take:

• TechSpot delivers a comprehensive, all-encompassing guide to blockchain development, useful for all levels of cryptophilanthropy experience (but especially for beginners).

• Should we be moving toward cryptocurrency when it comes to funding? There are pros and cons, but the biggest takeaway is that you shouldn't do anything without being informed.

• This is a good starting point for getting into the whole blockchain biz. But for those who want to apply the knowledge more directly to donor action, Charity Aids Foundation has it covered.


Cryptocurrencies, ICOs, magic internet money — it’s all so damn exciting, and you, the eager developer, want to get in on the madness. Where do you start?

I’m glad you’re excited about this space. I am too. But you’ll probably find it’s unclear where to begin. Blockchain is moving at breakneck speed, but there’s no clear onramp to learning this stuff.

If you’re unsure, I can’t tell you whether or not to jump in. But I can tell you five reasons that convinced me to take the leap:

1. It’s still early.
2. This space doesn’t have a strong talent funnel yet
3. Much of the innovation is happening outside of academia.
4. The demand for talent far, far exceeds supply.
5. Cryptocurrencies are just really damn cool.

I’d recommend strengthening up your understanding of fundamentals before you dive further. Blockchains are built atop decades of research in computer science, cryptography, and economics. Here are some good prerequisites to be familiar with, in order of importance.

Data structures. You’ll want to be familiar with the characteristics and complexity guarantees of the major data structures: linked lists, binary search trees, hash maps, and graphs (specifically, directed acyclic graphs which feature prominently in blockchains). It helps to have built them from scratch to better understand how they work and their properties.

Cryptography. This is the namesake and bedrock of cryptocurrencies. All cryptocurrencies use public/private key cryptography as the basis for identity and authentication. I’d recommend studying RSA (it’s easy to learn, and doesn’t require a very strong math background), then look at ECDSA.

Distributed systems. There are a few good textbooks on distributed systems, but it’s a sprawling and difficult area of study. Distributed systems are absolutely essential to reasoning about blockchains, so you must build a foundation here before tackling blockchain programming.

Read the full authoritative guide to blockchain development by Haseeb Qureshi at TechSpot.