The Blockchain Developer's Toolkit
Tags: blockchain, beginners, javascript
Published: 2020-10-12 22:50:01

---
title: The Blockchain Developer's Toolkit
published: true
description: A guide taking you from a traditional full-stack developer into the exciting world of blockchain and distributed ledgers.
tags: blockchain, beginners, databases, javascript
//cover_image: https://direct_url_to_image.jpg
---

This is a post inspired by “[The Full Stack Developers Roadmap](https://dev.to/ender_minyard/full-stack-developer-s-roadmap-2k12)” but focused on topics that are relevant to helping existing full-stack developers get into the blockchain industry. 

## General Cryptography - 

📕 [Crypto101](https://www.crypto101.io/) 
📝 [Secure hashing algorithms](https://brilliant.org/wiki/secure-hashing-algorithms/)
🔑 [Public key infrastructure (PKI)](https://www.ssh.com/pki/)
🗝 [Decentralized public key infrastructure (DPKI)](https://www.weboftrust.info/downloads/dpki.pdf) 

## Smart Contracts - 

💸 [Solidity Programming Language](https://solidity.readthedocs.io/en/v0.4.24/introduction-to-smart-contracts.html)

## Decentralized file storage - 

🪐 [Interplanetary File System (IPFS)](https://docs.ipfs.io/concepts/what-is-ipfs/)
🔫 [Gun.js](https://medium.com/@ajmeyghani/gundb-a-graph-database-in-javascript-3860a08d873c)
🗃 [Filecoin](https://docs.filecoin.io/about-filecoin/what-is-filecoin/)

## Wallets/authentication - 

🎭 [Metamask](https://docs.metamask.io/guide/#account-management)
🔑 [Authereum](https://docs.authereum.com/)
✨ [Fortmatic](https://docs.fortmatic.com/)

## Decentralized Identity - 

👥 [Decentralized Identifiers (DID)](https://www.w3.org/TR/did-core/)
✅ [Verifiable Credentials](https://www.w3.org/TR/vc-data-model/)
🕸 [The Web of Trust](https://github.com/WebOfTrustInfo/rwot1-sf/blob/master/final-documents/rebranding-web-of-trust.pdf)

## Testing/tools - 

🍬 [Truffle](https://www.trufflesuite.com/docs/truffle/overview)
🍫 [Ganache](https://www.trufflesuite.com/docs/ganache/overview)
💻 [Remix](https://remix-ide.readthedocs.io/en/latest/)

## Conclusion

These are just a few resources for taking full-stack developers into the exciting world of blockchains and distributed ledgers - mostly focusing on the [Ethereum](https://ethereum.org/en/) blockchain ecosystem - so it's worth emphasizing up front that you don't need to know or learn all of these things in order to be successful.

In fact, newer networks like where I work at [Hedera Hashgraph](https://www.hedera.com/learning/what-is-hedera-hashgraph) make it extremely easy for Java and JavaScript developers to start using these technologies. Take this example of sending cryptocurrency from one person to another in Node.js. 

```javascript
// Create a connection to Hedera with my account
const myHederaClient = Client.forTestnet(); 
myHederaClient.setOperator(myAccount, myPrivateKey);

// Define how much cryptocurrency to send
const hbarToTransfer = new Hbar(100);

// Create and execute a cryptocurrency transfer
new CryptoTransferTransaction()
        .addSender(myAccount, hbarToTransfer)
        .addRecipient(yourAccount, hbarToTransfer)
        .execute(myHederaClient);
```

Are there any categories or specific technologies that I’m missing? Let me know in the comments!