Getting started on Hedera for Developers
May 14, 2020
by Cooper Kunz
Developer Evangelist

This blog post has been updated to include the latest capabilities of the Hedera network.
See the updated version: How to Start Developing on Hedera: Back to the Basics


Are you a developer looking to get started building on the Hedera Hashgraph public network? In this post, I’ll show you how to get your account credentials and on your way to deploying your application. There are a few steps that we can break this into, to ensure you’re successful.

Step 1 - Create your Testnet Account

Step 2 - Set up your local development environment

Step 3 - Follow a quick tutorial

Step 4 - Get started with your use case or demo application

Let’s dive into each of these, and discuss some of the details that may help you along the way.

Step 1 - Create your Testnet Account

Accounts on Hedera are made up of 3 parts.

A private key, an associated public key, and an Account ID, that look somewhat like this.

PRIVATE_KEY=302e020100300...
PUBLIC_KEY=302e6031005b...
ACCOUNT_ID=0.0.123456

To get your account, sign up at portal.hedera.com - it should just take a few minutes.

Once you have your Testnet Account Credentials, be sure to store this information in a secure place. You should treat your private key like an API key - don’t share this with anyone - on the test network this isn’t real hbar but when moving to the main network, the private key can grant bad actors access to all of your cryptocurrency, or sign transactions as if they were coming from you.

Step 2 - Set up your local development environment

With Hedera SDKs, we make it extremely easy to get started in familiar languages. Currently, there are SDKs written in Java, JavaScript, Go, .NET, and even a few others! You can see all of the options listed here.

Depending on which SDK you choose, you should be able to install it with common toolkits. For Java, we have a tutorial where you can set it up with Maven, in JavaScript, we have a tutorial showing you how to get started with npm, and in with Nuget for .NET. If you want to get started using one of the other SDKs, check out our documentation, which has varying support for the languages, as we’re actively developing these projects.

Step 3 - Follow a quick tutorial

Hedera has a variety of tutorials that you can follow to start you on your journey. All of the SDKs implement the Hedera APIs in a similar way, so whichever language you prefer, it should be an easy development experience, especially compared to other blockchain networks.

Here’s a tutorial series in JavaScript, which takes you through setting up your local development environment, to submitting your first transactions to the testnet. We also have good entry points for Java and .NET - if those are your preferred languages!

You can also head over to our documentation, and check out the SDK docs. Again, since each of the languages implement the Hedera APIs in the same way, you should find them all quite familiar regardless of language.

Part 4 - Use cases and Demo Applications

Use cases

Once you’re finished with a tutorial and have a basic understanding of how to write transactions to the test network, you should probably start thinking about use cases. We have a variety of demo applications and starter projects that you can dive into from here… but it’s good to get a sense of what you’d like to spend the rest of the hackathon building, before choosing a starting point!

Perhaps the Hedera use case pages could be a good source of inspiration. You could look at payments, tokenized assets, or even decentralized identity solutions. These are just a few that we find exciting, but the potential of this new technology reaches just about every industry out there. For even more inspiration, you can check out the existing list of Hedera Users, to see what other projects are building.

Demo Applications

We have a large variety of demo applications that may be helpful to you, which can all be found on our GitHub. They differ in the types of use cases they’re targeted to, as well as how difficult they may be to get started with and turn into the application that you wish to build. I’ll break them down by language they’re primarily written in, and discuss how they may be helpful.

JavaScript

HCS Based Chat - The Hedera Consensus Service enables real-time pub-sub programming, with the security assurances that most would expect to find with a blockchain-based infrastructure. This application is probably the easiest to get up and running, providing you with a great way to get started with JavaScript and familiar toolings like Socket.io and Express.js. By sending messages over Hedera, this application showcases how easy it is to integrate “trust” into existing programming paradigms and commonly used toolkits.

MyHbarWallet - If you’re interested in implementing a browser-based cryptocurrency wallet for hbar, or one that can be run on a desktop leveraging tooling like Electron, this could be a great place to start. It’s also one of the easiest ways to generate keys/mnemonics that are compatible with Hedera and should be a great reference if wishing to build with Vue.js.

Java

HCS-SXC Demo - SXC stands for “secure extension components” and demonstrates how to extend the usual SDK functionality for the Hedera Consensus Service (HCS). It actually contains various other demo applications including a simple messaging demo, a financial settlement demo, a listening and timestamping of messages queue messages demo, and a simple token demo.

Proof-of-action microservice - Often, users will leverage a public network in order to prove that an event had been included in their data stream, or not. In order to make this even easier, we have built a microservice that leverages familiar tooling like a local database and REST API, that can be used to prove whether or not a bit of data or transaction has already been included on Hedera. We also have a Pasteboard demo application that leverages this microservice, to showcase how to use it and helpfully get you started with some inspiration.

DID-SDK-Java - Decentralized Identifiers or “DIDs” are a radically new way to represent globally unique identifiers on public infrastructures like a blockchain, or Hedera. To learn more about Decentralized Identity, this blog post may be helpful in getting you started. Using DIDs you can create decentralized identity solutions or verifiable credentials. This Java SDK makes it really easy to issue and manage DIDs, which can be leveraged in a variety of ways!

Hedera Android Wallet - If you’re interested in building a cryptocurrency wallet that interacts with Hedera, and manages the networks’ native cryptocurrency, hbar, this could be a great place to get started. There are a variety of features like threshold or multi-sig accounts that can be added, in an effort to provide a better user experience.

Go

Hedera Audit Log - This demo application showcases how AdsDax is using Hedera to track and prove advertising or event histories. It leverages existing message queues to ensure that they have a production-quality infrastructure, which is able to process hundreds of thousands of advertising events per day. It should be a great place to get started if you’re interested in building on Hedera with Go!

Permissioned networks

Hyperledger Fabric Plug-in - Permissioned networks can be helpful for preserving privacy between a known set of participants. The HCS Plug-in for Hyperledger Fabric adds decentralized ordering to the network to increase the trust and transparency.

Happy buidling!

If you have followed this guide, you should now have an account on the Hedera test network. You should have also written your first transactions, and even dived into a demo application or use case! Throughout this process if you have any questions or run into issues, please join our developer Discord chat, where our community is always around to help.