How to Start Developing on Hedera: Back to the Basics
Headshot
Nov 19, 2021
by Ed Marquez
Developer Relations Engineer

In this blog post, let’s go over how you can start developing on the Hedera network today. After reading this article you will:

  • Have everything you need to start developing
  • Understand the essentials to begin
  • Know where to get help

If you’re still evaluating different networks to develop your decentralized applications, it’s worth noting that Hedera helps you do that in a fast, fair, secure, sustainable, and cost-effective manner. Hedera is the greenest Proof-of-Stake network in the world, and it can help you attain your environmental sustainability goals by keeping your carbon footprint low. In addition, you don’t have to worry about throughput constraints because the network handles 10,000 transactions per second (tps) for native services and over 400 tps for smart contracts. All of this is done with an average transaction cost of $0.0001, always denominated in USD so you can predict and plan the costs for your business. Finally, the transparent governance model of the network provides you the assurance that there will be no forks, and that your business and applications are built on a stable and reliable platform.

With that in mind, let’s get started!

What Do I Need to Start Developing on Hedera?

Start building on the Hedera network in three simple steps: get a free development account, set up your environment, and try out some examples and tutorials.

1. Get a Free Development Account

Start developing for free using the Hedera test network (testnet). Go to the Hedera Developer Portal to create a testnet account. This account is replenished with 10,000 test HBAR every 24 hours – that will give you plenty of room for testing. You can think of portal accounts as the Hedera faucet for HBAR.

Portal

Remember that the cost of transactions on the Hedera main network (mainnet) is paid in real HBAR. Once you’re ready to deploy your application to the mainnet, be sure to create a mainnet account through one of the supported wallets.

2. Set Up Your Environment

Go to the Getting Started section of the documentation and follow the instructions to set up your development environment in your preferred language. You have SDKs available for Java, JavaScript, and Go. There is also a community-authored SDK for.NET.

Environment

Use the documentation regularly as it includes details and samples for each functionality. This will be useful when you want to, for example, create a smart contract, create a token using the Hedera Token Service (HTS), or create a topic using the Hedera Consensus Service (HCS).

3. Try’em Out!

Running examples is one of the best ways to learn a new topic, and with Hedera you have many examples and tutorials available for your reference and reuse.

Beginner Step-by-Step Tutorials

  1. Deploy Your First Smart Contract
  2. Create and Transfer Your First NFT
  3. Submit Your First Consensus Message
  4. Schedule Your First Transaction
  5. Transfer HBAR

More Examples

Videos

What Should I Know Before I Start?

Hedera Network Services

  • Smart Contract Service: Build and deploy Solidity smart contracts on the network. It is recommended to use the Hedera Token Service to mint tokens, with integration with smart contracts coming soon.
  • Token Service: Configure, mint, and manage native fungible and non-fungible tokens on the Hedera network without needing to deploy a smart contract
  • Consensus Service: Verifiable timestamping and ordering of events for any application or permissioned blockchain framework
  • File Service: Distribute files to each node on the network. While this isn’t designed for large file storage, it can be helpful for storing files that require active storage on the ledger, such as Solidity code or an address book

HBAR is the native, energy-efficient cryptocurrency of the Hedera public network. HBAR are used to pay transaction fees and protect the network from malicious actors

2021 Back to the Basics Image 4

SDKs

Hedera and the developer community contribute to and maintain Hedera SDKs across various languages.

Hedera supported

Community supported

Key Concepts

Accounts: The Central Starting Point

  • Accounts are stored on the public ledger and hold HBAR which are used to pay for the transaction and query fees
  • Hedera accounts can be created, updated, or deleted and are represented by an account ID
  • To create an account, you need an existing account that can pay for the associated transaction fees for the new account and to optionally fund the new account with an initial balance
  • Learn more about Hedera accounts here

Keys and Signatures

  • Each account has a public and private key pair
    • The private key of the account is used to authorize and sign transactions for that account
    • The public key is what is visible to others on the network when account information is requested
  • The key for an account can be a list of keys, with three options available:
    • Key List: M out of M signatures (multi-signature)
    • Threshold: M out of N signatures
    • Nested: A complex hierarchy of signatures required. Can include key lists and thresholds
  •  Learn more about keys and signatures here

Transactions, Queries, and Confirmations

  • Transactions are requests sent by a client to the network for processing. Each transaction has an associated transaction fee that compensates the Hedera network for that processing and subsequent maintenance in consensus state
    • Scheduled transactions enable execution when time and signature requirements are met, which makes them ideal for multi-signature transactions when you don’t have all required signatures immediately available
  • Queries are sent by clients to a single node to retrieve some aspect of the current consensus state, like the balance of an account
  • Confirmations are receipts, records, and state proofs
    • Receipts (minimal information) indicate whether a transaction was successfully processed into consensus state
    • Records (more information) indicate transaction details like the consensus timestamp or the results of a smart contract function call
    • State proofs (coming soon) document network consensus on the contents of a record and includes signatures from most of the network nodes

How Do I Get Help?