Getting Started

A quick guide to getting started with developing on Harmony blockchain.

Overview

Harmony is a powerful blockchain that is EVM comptible with sharding and staking features. For details about Harmony you can read more here. Developing on Harmony should feel very familiar for Ethereum developers, as we inherit almost all the tools and techniques like truffle, waffle, solidity, remix, wallets, etc.

The simplest way to interact with Harmony blockchain is via JSON RPCs.

Querying Harmony blockchian using JSON RPCs

  • About RPCs

  • Simple curl command examples provided

To really explore the full potential of Harmony blockchain, creating a wallet is the next step.

Creating a wallet (or ONE address)

  • Using onewallet or mathwallet browser extensions. Any other wallets can also be used.

  • Harmony CLI, also provides a quick way to create/manage wallet, interact with blockchain, etc.

Multiple development environments: Mainnet, Testnet, Localnet

  • Several development environments exists, as described in link

  • Multiple faucets to receive testnet funds here

  • Harmony blockchain explorers

We provide SDKs in several different languages. However most feature complete is our JavaScript SDK, which is the preferred language for DApp development.

Using SDKs to interact with Harmony blockchian

  • About SDKs

  • The most popular is our JavaScript SDK, which includes examples, documentation, and DApps developed in previous hackathons

  • Other SDKs include: Golang CLI, Java SDK, Python SDK

    • Note that, the Python SDK has only read-only features, meaning no transaction signing or smart contracts

How to deploy a smart contract on Harmony?

How to create a simple DApp on Harmony?

Many other examples and DApps can be found in the SDK repo and under showcases.

For any issues and concerns navigate to our Github project repo, select the relevant project, and report the issue.

You can also join our developer discord channels (#developers, #development) to interact with Harmony engineers and other developers. This happens to be the fastest way to clarify or get answers to your technical questions. Specifically for the upcoming Hack The Horizon Hackathon, we have the following discord channels. We also have developers telegram group.

Happy building on Harmony!!!

Known Limitations

  • Only cross-shard native token (ONE token) transfers are allowed. No cross-shard for HRC20 or other contracts. Meaning, smart contracts are deployed on shard-0 and all contract interactions happen on shard-0. We have cross-shard smart contract on our roadmap for Q4, 2020 or early Q1, 2021.

  • Although Harmony is EVM comptabile, the Ethereum toolchain will not directly work with Harmony. For example, if you send a metamask transaction to Harmony; it won't be accepted. This is due to the fact that Harmony transactions must have shard field specified and the Ethereum transactions do not have this field, hence any transaction constructed using Ethereum tools will not directly work out of the box. However, we have mimicked all necessary tools like wallet, truffle, waffle, remix, etc, to provide seamless experience for developers familiar with Ethereum and other chains.

===================================================================

Types of Creators

DApp Developers

Builders of Decentralized Applications (DApps) can use familiar tools such as truffle and drizzle to build powerful applications all on Harmony's low cost, scalable high performance sharded blockchain.

Smart Contract Developers

Smart contract developers can leverage Harmony's EVM compatible languages such as solidity and vyper to build comprehensive protocols or smart contracts which may be leveraged by DApps.

Wallet Creators

Harmony wallet creators provide the link between Harmony's user community and the DApps and protocols built upon Harmony. They do this by providing the ability to store value, manage private keys and enabling the signing of transactions.

Explorer Creators

Harmony's explorer creators provide the ability for Harmony community to have transparency as to what is happening on Harmony's platform. They do this by providing user interfaces enabling an easy understanding of which validators are securing which shards, blocks and transactions are being processed as well as capabilities around transaction history for accounts and detailed transactional views.

Trading Partners

Trading Partners are the bridge between Harmony and our Investor community. They provide supplemental tools such as Know Your Customer (KYC) and a trading platform which allow our investor and end user community to easily buy and exchange Harmony's native ONE token.l

Harmony Validators

Harmony validators or trust providers are the backbone of the Harmony infrastructure. As a decentralized platform these validators ensure consensus on blocks and transactions being processed on Harmony's sharded high performance platform.