arrow-left

Only this pageAll pages
gitbookPowered by GitBook
triangle-exclamation
Couldn't generate the PDF for 343 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Harmony

Loading...

General

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Technology

Key Featureschevron-rightRandomnesschevron-rightShardingchevron-rightConsensuschevron-rightEffective Proof-of-Stakechevron-rightTokenomicschevron-rightTransactionschevron-rightWalletschevron-right

Introduction

What is Harmony?‌chevron-rightRoadmapchevron-rightStrategy & Architecturechevron-rightStudy Materialschevron-rightFAQchevron-right

Hardware Wallets

LayerZero Bridge

Ledger with Staking Dashboard

Using Harmony hardware wallet on the Ledger requires a few things. You will need:

  • Your Ledger

  • The Harmony app installed on your Ledger

Wallets

1Walletchevron-rightHardware Walletschevron-rightBrowser Extension Walletschevron-rightDesktop Walletschevron-rightMobile Walletschevron-rightWeb Walletschevron-rightHMY CLI (Harmony Command Line Interface)chevron-right

Important Notice

The LayerZero-Harmony Bridge Interface (“Interface”) is an interface that facilitates use of a third-party cross-chain communication system (“Bridge”) that is designed to enable users to send messages between certain blockchains to enable the exchange of crypto assets between such blockchains. Your use of the Interface and the Bridge is entirely at your own risk.

The Interface and the Bridge are available on an “as is” basis without warranties of any kind, either express or implied, including, but not limited to, warranties of merchantability, title, fitness for a particular purpose and non-infringement.

You assume all risks associated with using the Interface and the Bridge, and digital assets and decentralized systems generally, including but not limited to, that: (a) digital assets are highly volatile; (b) using digital assets is inherently risky due to both features of such assets and the potential unauthorized acts of third parties; (c) you may not have ready access to assets; and (d) you may lose some or all of your tokens or other assets. You agree that you will have no recourse against anyone else for any losses due to the use of the Interface or the Bridge. For example, these losses may arise from or relate to: (i) incorrect information; (ii) software or network failures; (iii) corrupted cryptocurrency wallet files; (iv) unauthorized access; (v) errors, mistakes, or inaccuracies; or (vi) third-party activities.

The Interface and the Bridge do not collect any personal data, and your interaction with the Interface and the Bridge will solely be through your public digital wallet address. Any personal or other data that you may make available in connection with the Bridge may not be private or secure.

Welcome

To Scale Trust and Create A Radically Fair Economy

Harmony is an open and fast blockchain. Our mainnet runs Ethereum applications with 2-second transaction finality and 1000 times lower fees.

Harmony is your open platform for assets, collectibles, identity, governance.

hashtag
Build on Harmony

This Gitbook document has introduction and resources for all audience:

  • 🎶 – technical features, application showcases, ecosystem partners, community channels.

  • 🏗️ – web3 toolkits, deploy tutorials, open bounties, hackathon prizes.

  • 🌏 – token wallets, delegator economics, validator setup, governance dao.

hashtag
Bridge to All Chains

  • 🧠 – Market Research by Founder, Stephen Tse

  • 💪 – AI Agents, DeFi on Exchange.one, 1-Second Finality

Ecosystem

The Harmony team is focused on delivering a strong foundation for our network and ecosystem. We are grateful for the engagement and support of our validators, developers, community members, grantees and collaborators. Our current ecosystem map as of February 2022 is below and only includes a portion of projects launched on the Harmony network.

See below our 2021 Year in Review & Ecosystem Growth:

Strategy & Architecture

Harmony in 2021 will focus on adoption through developers and partners. We will continue to strengthen our network features, to lead industry in our cross-chain architecture, and to engage broad ecosystem to build with us. There will be explosive growth and new applications this year in blockchains — Harmony is ready to be leading a part of this global fintech revolution.

Towards our mission, Harmony’s current strategy is “Cross-Chain Finance” as decentralized finance and interoperable protocols are the product-market fit in 2021. We are building trustless bridges to Bitcoin and Ethereum for broader access of users and assets with Harmony as a hub. An example of utility is a cross-chain exchange without custodial risks. Our current settlement layer and soon liquidity infrastructure will enable further financial innovations, leading to cross-exchange integrations and cross-border finance.

Read more:

Roadmap

Harmony’s 2025 roadmap focuses on achieving 1-second finality, unifying decentralized finance, and creating an open AI ecosystem.

We are continuously upgrading our protocol for seamless performance with enhancements such as Verkle Trees, State Expiry, and improved network resilience through Stream Sync and Leader Rotation. These innovations power platforms like pump.one for memecoin creation and exchange.one for stablecoins and perpetual trading. Meanwhile, the .country top-level domains enable AI agents to own self-custodial wallets and domains.

We aim to simplify DeFi, expand liquidity, and attract new users. Innovations such as yield enhancer and perpetual options markets, combined with AI-driven frameworks like Eliza OS—empowering autonomous agents for trading, governance, and decision-making—are designed to make DeFi intuitive and accessible to everyone. By leveraging AI to create cult-like memes and autonomous agents that amplify engagement through viral narratives and real-time market insights, we aim to redefine community-driven finance with creativity and precision.

These advancements aim to onboard millions of DeFi assets, billions of community memes, and trillions of intelligent models. Together, these efforts reflect our vision for 2025: building a blockchain that is fast, simple, and accessible to everyone.

Study Materials

Crypto Startup School

Learn how to build a crypto company. The course videos from a16z’s Crypto Startup School, held in the spring of 2020, are now available to all. Use the hours of free videos and the reading materials, below, to navigate the idea maze and start building crypto projects. .

Crypto Thesis for 2021

A Messari report: key trends, people, companies, and projects to watch across crypto, Bitcoin, and Ethereum, with predictions for 2021. .

NFT Canon

Sign In With Ledger

Plug in your Ledger and open the Harmony Ledger App. Your device will be detected by your computer.

Start from the staking dashboard: and click the "sign-in" button.

You will be directed to the Validators page on the Staking Dashboard and a small trident logo will appear on the chrome tab. Your Ledger Nano will display "waiting for commands" before you click on any buttons.

Ledger Nano

A Hardware wallet

hashtag
Ledger Nano X and Nano S

The Nano X and Nano S are hardware wallets created by Ledger. A hardware wallet stores the private keys to Harmony tokens on a separate device, making it much harder for malicious parties to steal them. In fact, the private keys never leave the Nano wallet itself, so they will remain secure even if the device is connected to a compromised computer. As long as you follow best practices when using your Nano, it is virtually impossible for an attacker to steal your funds.

Generalarrow-up-right
Developersarrow-up-right
Network
crypto ∩ aiarrow-up-right
Roadmaparrow-up-right

Key Features

hashtag
Secure, Random State Sharding

Harmony has transcended the blockchain trilemma by bringing the best research to production. Sharding is proven to scale blockchains without compromising security and decentralization.

We divide not only our network nodes but also the blockchain states into shards, scaling linearly in all three aspects of machines, transactions and storages.

To prevent single shard attacks, we must have a sufficiently large number of nodes per shard and cryptographic randomness to re-shard regularly. Each shard has 1/4 of nodes for strong security guarantee against Byzantine behaviors. We use Verifiable Random Function (VRF) for un-biased and unpredictable shard membership.

hashtag
Fast Consensus w/ Instant Finality

Harmony has innovated on the battle-tested Practical Byzantine Fault Tolerance (PBFT) for fast consensus of block transactions. Our Fast BFT (FBFT) leads to low transaction fees and 1-block-time finality in Harmony Mainnet.

We use Boneh–Lynn–Shacham (BLS) constant-sized signatures to commit blocks in a single round of consensus messages. We achieve 2-second block time with view changes in production against adversarial or unavailable leaders.

Harmony Mainnet was launched in June 2019. Our network has produced 30M+ blocks with 450k+ transactions in publicly traded, native ONE tokens.

hashtag
Effective PoS & Token Economics

Harmony has designed a novel Proof-of-Stake (PoS) mechanism for network security and economics. Our Effective Proof-of-Stake (EPoS) reduces centralization and distributes rewards fairly to thousands of validators.

Our staking mechanism supports delegation and reward compounding. To support 100% uptime but fully open participation, EPoS slashes validators who double-sign and it penalizes elected but unavailable nodes.

Harmony Economics Model caps the annual issuance at 441 million tokens (about 3% rate in long term). Our model gives validators a simple and predictable return. All transaction fees are burnt to offset the issuance, naturally leading to zero inflation when our network usage becomes high.

hashtag
On-chain Verifiable Randomness

Harmony allows smart contracts to receive random numbers on chain, using a Verifiable Random Function (VRF) powered by distributed randomness generation (DRG). This allows any DAPP in the Harmony ecosystem to leverage randomness without relying on off-chain oracles.

The NFT Canon is a go-to resource for artists and creators, developers, corporations and institutions, communities and other organizations seeking to understand or do more with non-fungible tokens.
It’s a curated list of readings and resources on all things NFTs (inspired by the a16z
), and is organized from the big picture of what NFTs are and why they matter, to how to mint, collect, and do more with them — including various applications such as art, music, gaming, social tokens, and others.
.
https://harmony.one/schoolarrow-up-right
https://harmony.one/thesesarrow-up-right
Crypto Canonarrow-up-right
https://harmony.one/nftsarrow-up-right

Read more:

Click the "Show on Ledger" button to display your address on your Ledger device.

Press the right button on Ledger to continue and confirm the address is correct.

https://staking.harmony.one/ledgerarrow-up-right

Randomness

Harmony’s sharding approach depends on a secure randomness source so the validators can be assigned to shards in a truly random manner to avoid single-shard attacks. Harmony designed a distributed randomness generation (DRG) protocol which involves both VRF (Verifiable Random Function) and VDF (Verifiable Delay Function) to achieve the follows key properties:

  1. Unpredictable: No one should be able to predict the random number before it is generated.

  2. Un-biased: The process of generating the random number should not be biasable by any participant.

  3. Verifiable: The validity of the generated random number should be verifiable by any observer.

  4. Scalable: The algorithm of randomness generation should scale to a large number of participants.

Since the random assignment (resharding) of validators only happens every epoch, Harmony’s DRG protocol only needs to execute once per epoch. It works as follows:

  1. During the epoch, each validator takes turns to become the FBFT leader and at the end of the epoch, all validators should have become leader for at least once. Each new leader runs VRF to create a random number R and a proof P using its BLS key. The random number and the proof will be attached to the first proposed block by the leader, which will be verified by the validators and committed to the blockchain.

  2. As soon as more than 2/3 of the validators have done the VRF submission, the immediate next leader will combine all the submitted random numbers with an XOR operation to get the preimage pRnd of the final randomness.

  3. The leader runs FBFT among all the validators to reach consensus on the pRnd and commit it in block.

The VDF (Verifiable Delay Function) is used to delay the revelation of the final randomness in order to be secure against last-revealer-attack.The VDF is used to provably delay the revelation of Rnd and prevent the last leader from biasing the randomness by choosing to submit or not the last random number. Because of the VDF, the last leader won’t be able to know the actual final randomness before pRnd is committed to the blockchain. By the time Rnd is computed with the VDF, pRnd is already committed in a previous block so the leader cannot manipulate it anymore. Therefore, the most a malicious leader can do is to either blindly commit the randomness pRnd, or stall the protocol by not committing pRnd. The former is the same as the honest behavior. The latter won’t cause much damage as the timeout mechanism in FBFT will be triggered to switch the leader.

FAQ

hashtag
Where do I get Harmony One?

Check Coinmarketcap Marketsarrow-up-right for a list of Exchanges trading Harmony One. You may also want to get them via Defi DApps.

hashtag
What Wallets accept Harmony One?

Check for a list of Harmony One wallets.

hashtag
What DApps work with Harmony One?

Check for a list of decentralized applications running on Harmony One.

hashtag
What is Staking?

For those wishing to participate in staking without running a validator, delegation is the best approach to still get involved and earn block rewards. The act of delegating tokens and earn rewards is called staking.

Harmony ONE holders can delegate their tokens to existing validators using our staking explorer: . If the tokens are delegated to an elected validator, a portion of the block reward earned by the validator will be credited to the delegator (according to section ).

The earned block rewards are stored in a separate reward balance of the delegator, which can be immediately withdrawn to the delegator’s account balance. The block rewards can also be staked again to achieve the compounding effect of staking.

Your delegated tokens are also associated with slashing risks of the validator. As a delegator, you should carefully choose validators based on their historical performance metrics such as APR, uptime and commission. In case of indifference or indecisiveness, you should distribute your delegations among multiple validators in order to minimize risk.

hashtag
How to Stake?

New Delegators Quick, Simple Walkthrough:

💻 Download the ONEwallet extension from

✍️ Using the new extension create a new wallet or recover an existing one using seed words.

🎯 Next head over to the

👀 Choose a validator (or a few)

💰 Stake your tokens

🤑 Earn block rewards every 2 seconds.

Happen to be a more visual learner? Be sure to like and subscribe if you find the video(s) helpful.

For a deeper understanding of the staking mechanism, please refer to under the Validators section.

hashtag
More Questions?

For more questions, check our section.

Ledger with Metamask

This page will describe how to use ledger with Metamask connected to Harmony network for transfers

Metamask can be used along with ledger to perform transfers.

Steps:

1. Add Harmony network to metamask (testnet or mainnet)
2. Select "Connect Hardware Wallet"
3. Select the ledger account that you want to use
4. Make sure to load your Ethereum app on the ledger
5. You will see the account loaded and balance
6. Click Send and input the transaction data
7. Wait for review and sign using ledger

Sharding

Harmony blockchain is sharded in three dimensions: state, network and transaction.

State Sharding

In Harmony, each shard maintains it's own chain of blocks and state database. Therefore, the validators of each shard only need to store 1/N of the global state, where N is the number of shards. The consistency between states from different shards are guaranteed by the property of eventual atomicity of cross-shard transactions, which guarantees that double spending between shards can not happen.

Network Sharding

Harmony's validator network is also divided into shards where each shard involves a separate set of validators connected closely with each other and running consensus between themselves. Most of the time, validators communicate with other validators within the same shard to reach consensus or synchronize blocks. In cases of cross-shard transactions and beacon chain synchronization, validators from different shards send messages across shards through the globally connected network.

Transaction Sharding

Transactions in Harmony blockchain are sent to and processed by a specific shard instead of all shards. This way, shards can process transactions in parallel which greatly improves the overall transaction processing capacity of the blockchain. Users need to specify a field named shard_id in the signed transaction which indicates which shard this transaction belongs to. For cross-shard transactions, another field named to_shard_idis needed to indicate the destination shard while the shard_id field indicates the source shard.

hashtag
Epochs

An epoch in Harmony blockchain is a pre-determined period of time when the validator committees of shards stay unchanged. In Harmony mainnet, one epoch is 32768 blocks which translates to around 18.2 hours. In Harmony testnet, one epoch is 8192 blocks which is around 4.6 hours.

When one epoch ends, the election for the new validator committees will be conducted in beacon chain and the result (i.e. shard state) will be written in the last block of the epoch in the beacon chain. After that, beacon chain enters the new epoch with the new validator committee producing blocks. Once beacon chain enters new epoch, all the other shards will follow and also enters the new epoch. The new shard state from the beacon chain will be written in the new block of the shards which also marks the last block of the epoch for that shard.

hashtag
Crosslinks

Crosslink is an important piece of data which is sent from shard chains and stored in beacon chain. A crosslink contains data for block signatures and the block identifier data such as block hash, block number, view id and epoch etc. When a new block is confirmed in a shard chain, the corresponding crosslink will be created and sent to the beacon chain. Upon the receipt of the crosslink, the beacon chain verifies its signature and checks that it’s from the canonical chain of the shard. Successfully verified crosslinks will be added in the new block of the beacon chain to permanently endorse the block of the shard chain as canonical. Shard chain blocks without corresponding crosslinks endorsed in the beacon chain won’t be recognized by the network and will be deemed as invalid blocks.

Besides serving the purpose of marking canonical blocks of the shard chains, crosslinks are also used to record and tally the signing activity of the shard chain validators. Since epoch transition and EPoS election happens only on beacon chain, the validator signing activity from shard chains are sent to the beacon chain via the crosslink so it can be used for block reward calculation and uptime calculation which affect the validator’s election status.

Trezor

This page describes how to use Trezor hardware wallet with Metamask on Harmony network

Trezor wallet can be used along with Metamask to perform ONE transfers on Harmony network. Follow the steps below.

1. Add Harmony network to metamask (testnet or mainnet)

2. Select "Connect Hardware Wallet"
3. Select Trezor and continue
4. Select account, mostly the first one
5. Account loaded

Note that, load the Ethereum firmware (or app) for signing the transactions on the trezor device. Currently, Harmony does not have a separate trezor firware. There is a for adding Harmony to trezor firmware. After this bounty is finished, the users will be able to both transfer ONE and perform staking using trezor using Harmony firmware (or app).

Sending transactions via Ledger

circle-info

Note: staking dashboard only process transactions on shard 0.

To send ONE tokens to an address, click the "Transfer funds" button and the send window will pop-up.

Input the amount of tokens to send and the destination address, then click the "next" buttons.

Click the "Confirm and Sign" button to sign the transaction.

Check your ledger Nano S, the LED display on Nano S is shown as below. Click on the right button to review transaction on Ledger.

Check and confirm the destination address is correct.

Check and confirm the amount is correct.

Currently, staking dashboard only supports transaction on shard0.

Click the right button to start signing the transaction:

Once transaction is signed, Send window will pop-up on the staking dashboard and display the transaction status.

It will display "Successful Send" once the transactions completes.

Ledger with HMY CLI

hashtag
Download & Setup HMY

To interact with your Ledger device using the HMYC CLI, please click herearrow-up-right to download and configure it first.

hashtag
Interacting with Ledger

circle-check

When using Ledger with HMY CLI, the only difference here is that you have to add parameter --ledgeron every command.

With that in mind, you can run any other command via HMY CLI using your Ledger.

circle-exclamation

Make sure HMY CLI is being run with super user permissions when interacting with Ledger.

Below, are a few practical examples on how to interact with your Ledger device.

hashtag
1. Displaying your Address

For example, if you want to show your Ledger address you would simply run:

hashtag
Using the Binary:

hashtag
Using the Shell Wrapper:

hashtag
2. Displaying your Balance

hashtag
Using the Binary:

hashtag
Using the Shell Wrapper:

hashtag
3. Sending Transactions

hashtag
Using the Binary:

hashtag
Using the Shell Script:

For a complete reference of all commands available, please check the HMY CLI .

How to find a bridged token address

You can find your token from your final step transaction if it’s correctly displayed (sometimes there are delays in data representation).There is a token symbol near the amount in “Tokens transferred”/ ”Token transfers” section that leads to the token page.

token explorer eth.png
token explorer hmy.png

You can also look for the token in a token list on your wallet address page in the target chain explorer (it also can take some time for a token to appear).

Screenshot 2022-01-20 at 23.41.56.png
Screenshot 2022-01-20 at 23.46.25.png

Click on the token symbol, and you’ll see all necessary token information.

Screenshot 2022-01-20 at 21.52.12.png

![Screenshot 2022-01-20 at 21.45.29.png](../../../../.gitbook/assets/HRC 20 ETH explorer.png)

Don’t forget, that address should be in ETH style (starting 0x...). For Harmony Explorer, there is a switcher in the top right corner.

If you can’t find your token there, please use to find a token address you should have after the bridge.

After you find your token, add it to your wallet as shown You can avoid this process if you use Add token to Metamask button on the bottom your bridge operation page after operation is completed:

Check that you add token to a receiver wallet of your operation and the wallet is connected to the correct network.

Consensus

hashtag
Fast Byzantine Fault Tolerance (FBFT)

The consensus algorithm is a key component of any blockchain. It determines the security and performance of a blockchain and is often referred to as the "engine" of a blockchain. Harmony’s consensus algorithm is called Fast Byzantine Fault Tolerance (FBFT), which is an innovative upgrade on the famous PBFT algorithm. FBFT is one order of magnitude faster and more scalable than PBFT because BLS (Boneh–Lynn–Shacham) aggregate signature is used to significantly reduce the communication cost. Specifically, FBFT allows at least 250 validators to reach consensus within 2 seconds.

For every round of consensus in FBFT, one validator serves as the “leader” and there are three phases: the announce phase, the prepare phase and the commit phase. In the announce phase, the leader proposes a new block and broadcasts the block hash to all of the validators. In the prepare phase, validators verify the message and sign on the block hash, as well as sending the signature back to the leader. The prepare phase finishes when signatures with more than 2/3 of the voting power are collected. After that, the leader aggregated the collected signatures into a O(1)-sized BLS aggregate signature and then broadcast it with the whole block to start the commit phase. The commit phase involves validators verifying the block and doing a similar signing process as the prepare phase (i.e. 2/3 voting power collection). The consensus is reached after the commit phase is done. This whole process can be done within 2 seconds in mainnet.

Specifically, Harmony’s FBFT consensus involves the following steps:

  1. The leader constructs the new block and broadcasts the block hash to all validators. This is called the “announce” phase.

  2. The validators check the validity of the message, sign the block hash with a BLS signature, and send the signature back to the leader.

  3. The leader waits for valid signatures with more than 2/3 voting power from validators (including the leader itself) and aggregates them into a BLS aggregate signature. Then the leader broadcasts the new block and the aggregated signature along with a bitmap indicating which validators have signed. Together with Step 2, this concludes the “prepare” phase.

hashtag
Synchronous View Change

One of the drawbacks of BFT-based consensus is the potential stallment of the consensus if the leader is malicious. The solution to this in PBFT algorithm is the additional view change protocol on top of the consensus which is able to switch leaders when the consensus is stalled. The view change in PBFT works well in the traditional distributed system setting but it fails in the more complicated blockchain space. Particularly, the view change in PBFT is relying on the timeout mechanism where the timer is triggered based on the live progress of the consensus. This works fine if the nodes are always online and are in sync with the consensus progress. However, this won’t be true in the real world situation where nodes can be down for extended time or restarted due to machine crash, which will make the nodes having inconsistent view IDs and not able to make progress in the view change.

We solve this problem by using an improved version of the view change protocol that’s fully synchronous based on the local clock rather than assuming the liveness of the nodes. Specifically, instead of setting the validator’s view ID based on the live progress of the consensus, the view ID is calculated based on the elapsed time of the last successfully committed block’s timestamp. Of course, there is no global clock to rely on in the calculation of elapsed time. Each validator will use their own local clock for that. However, this is totally fine as long as more than 2/3 of the validators maintain a relatively accurate local clock that’s not drifting by a few seconds. This is achievable in the protocol to make validators to periodically synchronize its local clock with NTP time.

This improvement makes our view change protocol fully robust and functional as long as more than 2/3 of the honest validators are online, guaranteeing the liveness of the FBFT consensus. Besides, BLS aggregate signatures are also used in the view change protocol to reduce network communication cost, making it a very efficient process which takes a few seconds to finish.

What is Harmony?‌

‌Harmony is a fast and secure blockchain for decentralized applications. Our production mainnet supports 4 shards of 1000 nodes, producing blocks in 2 seconds with finality.

Our Effective Proof-of-Stake (EPoS) reduces centralization while supporting stake delegation, reward compounding and double-sign slashing.

Harmony aims to build an open network of nodes operated and governed by a large community. This node community is called Pangaea.

Are we decentralized yet? There’s no consensus without participation. There are now 1,000 Harmony nodes – so far 800 of them run by the community – in line with thousands of Bitcoin and Ethereum nodes. Pangaea consists of volunteers and validators from more than 100 countries and most of them have never run a node before.

hashtag
Key Innovations

hashtag
Fully Scalable Architecture

Harmony’s sharding works not only on the network communication and transaction validation, but also on the blockchain state. This makes Harmony fully scalable on all three aspects of the blockchain: network, storage and transaction processing.

hashtag
Secure Random Sharding

Harmony’s sharding process is provably secure against shard attacks because the network validators are randomly assigned and shuffled among shards. The randomness used in the sharding is obtained with a distributed randomness generation algorithm (based on VRF and VDF) which is unpredictable, un-biased, verifiable and scalable. Harmony reshards the network in a non-interruptive manner using “Cuckoo Rule” to prevent against slowly adaptive byzantine adversaries.

hashtag
Efficient and Fast Consensus

Harmony’s consensus algorithm is called Fast Byzantine Fault Tolerance or FBFT. FBFT is a highly efficient and speedy consensus algorithm built upon the famous PBFT (Practical Byzantine Fault Tolerance) algorithm which is the cornerstone for distributed systems and consensus research for the past 30 years. Harmony’s FBFT is able to confirm blocks within 2 seconds thanks to the adoption of aggregated BLS (Boneh–Lynn–Shacham) signature. FBFT is also highly optimized in network message processing and block proposal pipelining so that the consensus can scale to hundreds of validators at the same time.

hashtag
Effective Proof-of-Stake

Unlike traditional blockchains which require PoW (Proof of Work) to reach consensus, Harmony is a Proof-of-Stake blockchain which is energy efficient and low-cost for node runners. The process to elect validators is called Effective Proof-of-Stake (EPoS) which is the first sharding-focused PoS mechanism that prevents stake centralization. In EPoS, validators with a large amount of staked tokens are obligated to run more nodes to support the network while validators with less stake run fewer nodes. Besides, EPoS is able to randomly and evenly distribute the stakes among all shards so no shard is less secure than other shards.

hashtag
Scalable Networking Infrastructure

Harmony’s network layer is based on the industry-leading p2p protocol named libp2p. We use libp2p’s gossip protocol for network message broadcasting and stream protocol for decentralized state synchronization. To achieve high performance, we adopt RaptorQ fountain code and use Adaptive Information Dispersal Algorithm to quickly and efficiently broadcast large blocks. Harmony also features a design where Kademlia routing is used to achieve cross-shard transactions that scale logarithmically with the number of shards.

hashtag
Asynchronous Cross-Shard Transactions

Harmony supports cross-shard transactions to achieve composability of assets between shards. We designed a receipt-based asynchronous cross-shard communication mechanism which achieves eventual consistency so no double-spending is possible between shards.

hashtag
Fun Facts

hashtag
Why is the project called “Harmony”?

Harmony is the beautiful music when we sing in different notes but resonate. It’s analogous to our high-performance protocol of multiple shards but reaching consensus.

hashtag
Why is the token called “ONE”?

Harmony’s vision is “For One and For All,” creating open consensus for 10 billion people.

hashtag
Why is the logo designed as such?

Harmony’s community is built on “Handshake & Embrace.” All Is Fair in Love and War. (Euphues [Euphuism]: The Anatomy of Wit, 1579). Read the “ Interview” on our founding story.

Effective Proof-of-Stake

Harmony is one of the first production mainnets to feature a fully sharded PoS architecture. Across the 4 shards in Harmony mainnet, blocks are produced every 2 seconds and cross-shard transactions are finalized in 2 block times.

Harmony’s Effective Proof-of-Stake (EPoS) is the first staking mechanism in a sharded blockchain that achieves both security and decentralization. EPoS allows staking from hundreds of validators and the unique effective stake mechanism reduces the tendency of stake centralization. Meanwhile, stake delegation, reward compounding, double-sign slashing, and unavailability checking are also supported.

Our token economics model incentivizes early stakers with higher rewards to bootstrap the network successfully. For those validators or delegators who would like to join , this guide will help you get started and learn about how everything works.

Safepal

A hardware wallet with a mobile app

hashtag
SafePal Hardware Wallet

SafePal is a secure and user-friendly hardware wallet designed for the masses. SafePal S1, its first flagship hardware wallet, adopts multiple layers of security schemes and intuitive user interfaces, enabling users to store, transfer and trade coins in the wallet in the easiest way.

Create/import account

When you're setting up SafePal you can either create a new account/wallet, or import/recover an existing account/wallet.

hashtag
Create New Wallet

hashtag

Installing MetaMask

Click to install the MetaMask extension on your browser. It can be installed on most desktop browsers. Just click on the installation button to begin the process. Once installed, continue to the next section to add the Harmony network to your new wallet.

circle-exclamation

Remember to save a backup of your private key(s) but never share it with anyone unless that person is to be trusted with full access to your cryptocurrency assets.

Create a New Account

In order to create a new account, click on the icon on top as shown by the image below and then on Create Account:

On next window, provide an account name and then click the Create button to complete the step.

Math Wallet

This section describes how to create your wallet, stake and undelegate your ONE, send transactions, and claim staking rewards using the Math Wallet browser extension.

is a browser extension and a mobile wallet for holding and transacting cryptocurrency.

Harmony Chrome Extension Wallet

circle-exclamation

The Harmony Chrome extension wallet is no longer supported. The extension but should be used at your own risk.

Please see on the sunset announcement.

Staking4All Wallet

Staking4All wallet is a desktop wallet for Harmony. You can download it .

Holders
DApps
https://staking.harmony.one/arrow-up-right
Block Reward
here
Staking Dashboardarrow-up-right
Check out Harmony Protocol on YouTube!arrow-up-right
Terms & Conceptsarrow-up-right
community
Xooglerarrow-up-right
herearrow-up-right
for migration options to MetaMask.
can still be downloaded arrow-up-right
here for more information arrow-up-right
See herearrow-up-right
herearrow-up-right

Guarda Wallet

Stake and exchange Harmony ONE tokens using Guarda Wallet. You can download the mobile wallet herearrow-up-right.

Browser Extension Wallets

Metamask

MetaMask is an extension for accessing Harmony enabled distributed applications, or "dapps", from your browser. The extension injects the Harmony web3 API into every website's javascript context, so that Web3 applications can read from the blockchain.

In this section, we walk through the process of installing MetaMask, configuring it on the Harmony network, and importing an existing account using a previously generated private key.

circle-info

Continue through this section for more information on installing MetaMask, adding the Harmony network, importing an existing account, and more.

hashtag

Blits Wallet

Manage your Harmony, Ethereum, HRC20, HRC721, ERC20 & ERC721 Tokens in a trustless manner.

You can download Blits Wallet herearrow-up-right.

Mobile Wallets

FAQ

hashtag
1. What does Expires In mean?

1wallets have an expiration date. It means that once the expiration date is reached, all your funds will be automatically sent to the recovery address you set.

hashtag
2. What does Daily Limit mean?

The daily limit for 1wallet is set to 1000 ONE's. This means you cannot transfer more than this amount daily.

Web Wallets

Cobo Wallet

Cobo is the first leading wallet company in the world to offer Staking and masternode rewards on user holdings, making it easy for users to grow their digital assets effortlessly. As a company, they emphasize long-term security, reliability, and convenience.

You can download Cobo Wallet herearrow-up-right.

Desktop Wallets

Partners

DApps

cookbookarrow-up-right
./hmy keys list --ledger
./hmy.sh -- keys list --ledger
./hmy balances --node="<endpoint-address>" <ONE-address> --ledger
./hmy.sh -- balances --node="<endpoint-address>" <ONE-address> --ledger
./hmy transfer --node="<endpoint_address>" \
 --from <ONE_address> --to <ONE_address> \
 --from-shard <shard> --to-shard <shard> \
 --amount <amount> --chain-id <chain-id> --passphrase --ledger
./hmy.sh -- transfer --node="<endpoint_address>" \
 --from <ONE_address> --to <ONE_address> \
 --from-shard <shard> --to-shard <shard> \
 --amount <amount> --chain-id <chain-id> --passphrase --ledger
  • After pRnd is committed, the leader starts computing the actual randomness Rnd=VDF(pRnd, T), where T is the VDF difficulty and is set algorithmically such that the randomness can only be computed after k blocks.

  • Once Rnd is computed, the leader initiates a FBFT among all validators to agree on the validity of Rnd and finally commit the randomness into the blockchain.

  • The VDF (Verifiable Delay Function) delays the revelation of the final randomness.

    The validators check that the aggregate signature has at least 2/3 of total voting power, verify the new block, sign the received block from Step 3, and send it back to the leader.

  • The leader waits for valid signatures with more than 2/3 voting power (can be different signers from Step 3), aggregates them together into a BLS aggregate signature, and creates a bitmap for all the signers. Finally, the leader commits the new block with the aggregate signatures and bitmaps into local DB, and broadcasts the aggregate signature and bitmap for all validators to confidently commit the block too. Together with Step 4, this concludes the “commit” phase.

  • Network communication during a single round of consensus.
    hashtag
    Effective Stake

    Effective stake is a new measure introduced in EPoS in order to prevent stake centralization and still provide capitalistic fairness. For exactly how it achieves that, herearrow-up-right is the design rationale behind it.

    Let’s call the bid price of the elected BLS keys the raw stake. The effective stake of an elected BLS key is a bounded value on its raw stake with a threshold around the median bidder’s raw stake (denoted as median_stake in the picture below). The upper threshold is 115% of the median_stake and the lower threshold is 85% of the median_stake. For a key with raw stake that’s out of bound of the threshold, its effective stake will be bounded by the corresponding threshold, otherwise, the effective stake is the same as the raw stake.

    The effective stake of each BLS key is determined at the last block of an epoch during the election process and will stay the same throughout the next epoch.

    Effective Stake is Bounded around Median Stake

    hashtag
    Shard Committee and Voting Power

    After the election and shard assignment, the BLS keys assigned in a shard become the committee of that shard. The voting power of an elected BLS key in a committee is the metrics used to measure the key’s weight in the consensus voting process. The total voting power of a shard committee is always 1.0 (or 100%). The consensus of a committee is only reached if more than 2/3 of the voting power is collected in the votes.

    Each BLS key in the committee has a certain voting power proportional to the share of its effective stake among the whole committee. For example, if the sum of the effective stake of all the keys in the committee is 10k ONE, a BLS key with effective stake of 1000 ONE will have voting power 0.1 (or 10%).

    hashtag
    Block Reward

    For each of the blocks produced and confirmed within a shard, it should contain signatures from the keys with more than 2/3 of the total voting power of the shard committee. Each confirmed block will produce 7 ONE as block reward for the validators behind the committee. The 7 ONE is initially allocated to all the validators whose BLS key(s) signed on the block, proportionally to the voting power of the key(s) that signed.

    The allocated block reward for a validator will be further distributed to delegators proportionally to their stake after the commission fee is charged. For example, a validator with a commission rate of 25% got allocated 4 ONE for a block it signed. The validator staked 1000 ONE itself and it has 2 delegations each with 1000 ONE. The block reward distribution for this validator works as follows:

    1. The commission fee of 1 ONE (4 ONE * 25%) is cut from the original reward and credited to the validator.

    2. The rest of the reward of 3 ONE is then distributed to all the stakers (including both the validator and its delegators) proportionally based on their stake. Since the stakers (the validator and the two delegators) each staked/delegated 1000 ONE, they each receive 1 ONE in the reward distribution.

    hashtag
    Double Sign Slashing

    If any BLS key(s) are detected signing conflicting blocks (i.e. blocks with the same height and view ID but with different block hashes), the validator will be slashed and forever banned from the network. When a validator is slashed, a certain percentage (i.e. slashing rate) of staked tokens from the validator and its delegators will be forfeited, of which half will be burnt and another half will be credited to the reporter of the double sign event.

    The slashing rate is calculated by simply summing all the voting power of the double signing keys with a minimum of 2%. For example, if 3 BLS keys with voting power of 3%, 3% and 4% double signed at the same time, 10% of all staked tokens will be slashed on the validators who hold the 3 BLS keys.

    hashtag
    Uptime and Unavailability Penalty

    The elected validators are obligated to validate blocks with their elected BLS keys. In every epoch, an elected validator should sign more than 2/3 of the signatures that its BLS keys are asked to sign.

    The signing performance is represented by a percentage value called uptime. A validator’s uptime is the ratio of the number of signatures its elected BLS keys signed over the total number of signatures the keys should sign. For example, a validator has 2 elected BLS keys and each of the keys is presented 100 blocks to sign. In the final tally, the first key signed 70 blocks and the second key signed 80 blocks. Overall, the validator’s uptime is (70+80) / (100*2) = 75%.

    At the end of each epoch, the validators with uptime of no more than 2/3 (66.66%) will have their status set to “Inactive” and be ruled out from the new election. For these inactive validators, they are required to manually set their status to “Active” by sending an EditValidator transaction in order to participate in future elections. We encourage validators to be proactive in maintaining a high uptime to ensure they remain elected and earn the most block reward possible.

    Harmony Open Stakingarrow-up-right
    Import Wallet (Recover)
    bountyarrow-up-right
    6. Click on Send and prepare the transaction
    7. Confirm the transaction
    8. Use the Trezor hardware wallet device to confirm the transaction. Upon confirming, the transaction is successful.
    this page
    here. arrow-up-right
    Math Walletarrow-up-right
    8. Review transaction in the ledger and sign
    9. You can see the transfer success

    Bridge tutorial

    1. Head over to layerzero.bridge.harmony.onearrow-up-right

    2. Choose transfer direction

    3. Connect your Metamask account via Metamask button

    On wallet connection destination address is chosen automatically. You can specify another address on which you would like to receive your tokens.

    circle-exclamation

    You need to be able to open your wallet in the network you sent your tokens to. Check that there are no network restrictions that prevents you from it. Also check if there is no limitations on a token type you can receive. Never send tokens to an exchange account!

    4. Select a token from the list. You can use the search field.

    When selected, token addresses for both networks will appear on the page. Note that token you receive never have the same address in destination network. You can check what token you get by following its address link. Please check if it's a desired token, and it has a liquidity in the target network.

    5. Enter the amount.

    When all fields are correctly filled in click on Continue to perform the bridge action.

    6. You'll see the notice. Please read it carefully.

    7. Read the message with fees very carefully on the next page. If you agree, click on Confirm.

    8. The bridge action will begin, and you will be asked multiple times to sign transactions using Metamask. Just click on Confirm for every action

    There are several steps in the bridge operation. Normally, it takes up to 20 min to finish the operation step.

    When the transaction is over, its hash appear on the corresponding step. You can follow the link for transaction details.

    9. If all went well, we have a successful bridge action.

    10. In order to see the tokens you might need to add the tokens to your wallet. There is a special button for it in the interface. You need to confirm adding in Metamask notification window.

    Alternately, you can use for adding tokens.

    circle-exclamation

    Do NOT send bridged tokens directly to other blockchains or exchanges. This will not work and it might result in permanent loss of your tokens. Bridged tokens can only be used on Harmony network. The only way to send them out is by bridging them back.

    ONTO Wallet

    Description: "ONTO is the first truly decentralized, cross-chain wallet, allowing users to securely manage their identities, data, and digital assets. Wallet users can manage their crypto assets (including NFTs), perform cross-chain swaps, keep up-to-date with the blockchain and crypto industry’s latest developments and events via the ONTO news feed, and enjoy a variety of dApps."

    For more information: https://onto.app/arrow-up-right

    Infinity Wallet

    Description: "The ultimate gateway to decentralized finance in a user-friendly, multi-currency and convenient cryptocurrency wallet for all your needs."

    For more information: https://infinitywallet.io/mobilearrow-up-right

    Download & setup

    Download and setup Safepal Hardware Wallet

    hashtag
    Download SafePal Mobile Apps

    SafePal mobile apps can be downloaded from PlayStore and AppStore following the instructions herearrow-up-right.

    hashtag
    Quick Start

    Please make sure your SafePal is the latest by following the instructions . The SafePal general user's manual is and the initial set up guide is .

    Trustee Wallet

    Description: "Trustee Wallet is the altcoins & Bitcoin wallet app for secure storage, profitable purchase of cryptocurrencies and tokens using bank cards."

    For more information: https://trusteeglobal.com/arrow-up-right

    Querying Balances

    Get JSON output of balances on all shards of a given ONE address with the balances subcommand:

    hashtag
    Using the Binary:

    ./hmy balances <ONE-address> --node="<endpoint-address>"

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    Onsen

    1ONE/WETH pool: https://analytics.sushi.com/pairs/0x986627db5e4aae987f580feb63d475992e5ac0aearrow-up-right

    1ONE token: https://etherscan.io/address/0xd5cd84d6f044abe314ee7e414d37cae8773ef9d3arrow-up-right

    Guarda Wallet

    Description: Stake and exchange Harmony ONE tokens using Guarda Wallet. Stake, exchange, earn and buy Harmony, Bitcoin, Ethereum and thousands of other assets.

    For more information: https://guarda.com/arrow-up-right

    Other CLI References

    hashtag
    Generate Markdown Documentation

    if you want a full list of commands the hmy tool knows in markdown format, please run the following command:

    ./hmy docs

    Then in the same directory, hmy creates a directory named hmy-docs in which you can find all markdown files for the commands and subcommands.

    hashtag
    Delete Account

    Deletion of a one account is possible by issuing the below command

    triangle-exclamation

    Be sure to have saved your private keys before if you had fund in that account. Deleting the account without backing it up means you'll lose it forever.

    What token will I get after the bridge

    Use to find a token address you should have after the bridge.

    Here you can specify the network by pressing its button. If your token is on Binance or Ethereum, it can help you to avoid confusion. You can also set a filter by a token type if you know it.

    Search a token you plan to bridge. You can enter its address / symbol / name.

    Click on the paired token address, and it will lead you to the token page.

    There are tokens named the same in the different networks, but they always have different addresses. Compare token address and name to your token data to avoid a confusion.

    Send transaction

    hashtag
    How to send ONE in SafePal?

    1. Click on the 'Send' segment in SafePal App menu bar and select ONE.

    Collecting Rewards

    This page walks you through the process of collecting stake rewards with Math Wallet.

    With your ONE staked to one or more validators, your delegation begins earning rewards with each block. You may collect these rewards at any time and may be re-delegated to compound your interest assuming you have 100 or more ONE.

    Visit the staking dashboard at staking.harmony.one and click the Portfolio link on the left.

    Log into the dashboard if you're not already signed in.

    With your address confirmed, proceed by clicking the Claim Rewards button to collect the ONE earned through staking.

    Note the staking dashboard currently only displays whole integers, which means <1 ONE rewards will display as zero and cannot be collected.

    Sending Transactions

    Follow the steps below to send your ONE using Math Wallet.

    Make sure you've set up your Math Wallet extension according to the directions in .

    hashtag
    Opening Web Wallet

    You will need to open Web Wallet in order to view account details and perform transactions.

    Guarda Wallet

    Stake and exchange Harmony ONE tokens using Guarda Wallet. You can download the desktop wallet .

    Import an Account

    circle-exclamation

    There is a where after the restoration of a wallet, MetaMask shows a different account with missing funds. Please make sure you use the same RPC network details as the one used in the original wallet. For example, if your original wallet was on the Harmony RPC network but your new wallet is on POKT RPC network, you may not see your original account.

    hashtag

    Sef Wallet

    hashtag
    Harmony Smart Defi Wallet

    Send. Swap. Connect. | Available at https://sefwallet.one

    Sef Wallet is a smart DeFi wallet built for Harmony blockchain. Always low fees, and fast transaction time.

    Adding Custom Harmony Tokens

    This page describes how to add HRC20/HRC721 tokens to MetaMask.

    hashtag
    Adding a Custom Token

    Open MetaMask, select the Harmony network, then click the Assets tab. Near the bottom, click "Import Tokens" and complete the empty fields.

    Add the Token Contract Address, Token Symbol, and the Decimals value. Note the Token Symbol and Decimals may auto-populate. These details are usually provided by the token creator.

    Frontier Wallet

    Frontier is a chain-agnostic DeFi aggregation layer. Users can stake in Harmony using Frontier.

    Please visit with your mobile device to download the harmony mobile app.

    HMY CLI (Harmony Command Line Interface)

    hashtag
    Introduction

    hmy is the official Command Line Interface (CLI) provided by Harmony. You can use it as a local wallet and as a way to interact with your Ledger Nano device. The hmy CLI is completely open-source. You can track its development and post any issues encountered and your feature suggestions .

    DeFi Protocols

    For a full list of DeFi Protocols on Harmony, visit

    hashtag

    A fully decentralized protocol for automated liquidity provision.

    Staking Transactions

    hashtag
    Delegating to a Validator

    You can delegate tokens to a validator using the following command:

    The CLI will ask for the passphrase for the delegator-addr keystore file.

    --delegator-addr

    Tokenomics

    In the updated economic model of our network, the total reward across the network (issuance plus transaction fees) will remain constant regardless of average block time and staking ratio. The goal of this change is to achieve a higher staking ratio, to simplify the model and to create a path to 0 issuance, all of which we believe will bring long term benefits for Harmony.

    hashtag
    ONE Token

    ONE is the native token for Harmony which supports the monetary flow of the entire Harmony economic system. ONE has 18 decimals.

    The smallest unit of ONE is called Atto, which is 0.000000000000000001 ONE. (equivalent to Wei in Ethereum).

    herearrow-up-right
    hashtag
    Features

    With the hmy CLI you can create a wallet, check your balance, send signed transactions to the Harmony blockchain, look up previous transactions, recover keys from previous mnemonics, create new keystores, and create new BLS keys.

    hashtag
    Supported Platforms

    • OSX: main development platform

    • Linux: tested

    • Windows: tested/working under Windows Subsystem for Linux (WSL)

    hashtag
    Release information

    We will always upload the latest production release on githubarrow-up-right and announce future uploads in pre-production releases.

    herearrow-up-right

    If you bridge a token from the network where it was issued, you receive a mapped token. Usually it has a prefix in the name that indicates a wrap.

    If you have a token on Harmony that is originated from Binance or Ethereum, you can bridge it back only to the network it came from. As a result you’ll get the origin token.

    Frequently bridged tokens:

    ONE

    If you bridge ONE from Harmony to Binance, your ONE will have a different address on Binance: 0x03fF0ff224f904be3118461335064bB48Df47938arrow-up-right

    If you bridge ONE from Harmony to Ethereum, you receive 1ONE token with the address 0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3arrow-up-right

    If you bridge ONEarrow-up-right from Binance or 1ONEarrow-up-right from Ethereum, you get Native Harmony ONEarrow-up-right on Harmony.

    BNB

    If you bridge BNBarrow-up-right from Binance, you get bscBNBarrow-up-right on Harmony.

    ETH

    If you bridge ETHarrow-up-right from Ethereum, you get 1ETHarrow-up-right in Harmony wallet.

    BUSD

    If you bridge BUSDarrow-up-right from Ethereum, you get 1BUSDarrow-up-right on Harmony.

    If you bridge BUSDarrow-up-right from Binance, you get bscBUSDarrow-up-right on Harmony.

    DAI

    DAIarrow-up-right on Ethereum - 1DAIarrow-up-right on Harmony

    USDC

    Ethereum USDCarrow-up-right - 1USDCarrow-up-right on Harmony

    USDT

    Ethereum USDTarrow-up-right - 1USDTarrow-up-right on Harmony

    this pagearrow-up-right
    this guide
    https://blog.harmony.one/harmony-2021-year-in-review-december-updates-chainlink-dayone-ecosystem-growthblog.harmony.onechevron-right
    ./hmy.sh -- balances <ONE-address> --node="<endpoint-address>"
    ./hmy balances one1km7xg8e3xjys7azp9f4xp8hkw79vm2h3f2lade --node="https://api.s0.t.hmny.io"
     ./hmy keys remove [ACCOUNT-NAME]
    is the ONE address of the delegator
    (string)

    --validator-addr is the ONE address of the validator (string)

    --amount is the number of ONE tokens to delegate to the validator (float)

    circle-info

    As a validator, if you want to increase your stake, you will have to delegate to yourself. For delegating to your own validator, delegator-addr and validator-addr will be the same.

    hashtag
    Undelegating from a Validator

    You can un-delegate tokens from a validator using the following command:

    The CLI will ask for the passphrase for the delegator-addr keystore file.

    --delegator-addr is the ONE address of the delegator (string)

    --validator-addr is the ONE address of the validator (string)

    --amount is the number of ONE tokens to un-delegate (float)

    circle-info

    As a validator, for un-delegating from your own validator, delegator-addr and validator-addr will be the same.

    hashtag
    Collecting Rewards

    You can collect your block rewards with the following command:

    The CLI will prompt your for the passphrase of the delegation account.

    --delegator-addr is the account to collect rewards for

    circle-exclamation

    You can only collect ALL of your block rewards at once, not partially.

    ./hmy --node="https://api.s0.t.hmny.io" staking delegate \
        --delegator-addr [ONE ADDRESS] --validator-addr [ONE ADDRESS] \
        --amount [AMOUNT] --passphrase
    ./hmy --node="https://api.s0.t.hmny.io" staking undelegate \
        --delegator-addr [ONE ADDRESS] --validator-addr [ONE ADDRESS] \ 
        --amount [AMOUNT] --passphrase
    ./hmy --node="https://api.s0.t.hmny.io" staking collect-rewards \
    --delegator-addr [ONE ADDRESS] --passphrase

    Input the destination address by pasting the address or scanning the QR code. Enter all transaction details - amount, fee and don't forget to select the shard number.

    1. Then clink “Send”to check the transaction details.

    Tips: If you don't know the exact shard number, don't worry, you can simply use Shard 0 as the default shard.

    1. Sign the order with your SafePal S1 hardware wallet.

    1. Confirm the payment.The transfer is broadcasted on chain. Don't forget to check transfer status later.

    hashtag
    How to receive ONE in SafePal?

    To receive ONE tokens you need to provide the sender your ONE address which can be found using the SafePal app or wallet.

    Using the SafePal App:

    1. Select ONE which gives you the option of receive and send, click on receive

    2. You can either copy your ONE address for the wallet, save the QR code, or have the other party scan the QR code from your phone

    Using the SafePal Wallet:

    1. Turn on the wallet

    2. Scroll to "Asset Management" in the main menu

    3. Select "Harmony" out of all the options

    4. Click on receive, and then enter your PIN code

    5. Your QR code, as well as the ONE address for the wallet will show for the other party to use

    Proceed by clicking the Next button at the window below.

    Collecting rewards must be done in full. You are unable to collect a portion of your rewards.

    Then click the Confirm and Sign button to send the transaction for signing in Math Wallet.

    This will cause Math Wallet to pop up and request you to accept the signature request.

    Click the Accept button to sign the transaction and collect your rewards.

    Signature Request in Math Wallet

    Your rewards are collected once you see a Successful Withdrawal message.

    Successfully collecting your stake rewards.

    Your ONE rewards, generated by staking your coins, are now added to your wallet.

    Ensure your address is correct. Click the Claim Rewards button.

    Please select the wallet you want to open and click Web Wallet on the Math Wallet extension popover interface.

  • After clicking Web Wallet, a new tab will open asking you to login into Math Wallet, click on login and you will enter the Web Wallet.

  • hashtag
    Sending transactions

    1. Specify the shard you want to pull funds from using the Shard dropdown in the sidebar.

    2. Specify which account you want to send funds to using the To Address field.

    3. Specify which shard you want to send funds to using the Shard dropdown to the right.

    4. Specify the amount you wish to send in the Transfer Amount field.

    5. Specify the gas price you wish to pay using the Fee slider. Gas is a fee charged by the network for the computational work of mining a transaction into the blockchain.

    6. Click Transfer to complete the transaction! You will be shown a transaction receipt before finalizing the transaction.

    Download & Setuparrow-up-right
    1. Obtaining a Private Key

    Importing an account is done by taking an existing private key and importing it into MetaMask. How you obtain the private key is dependent on the wallet in use.

    For the Harmony Chrome extension wallet, click the Menu button at the top right, click Export Private Key, enter your password, and copy the private key displayed.

    hashtag
    2. Using a Private Key

    Click on the icon on top as shown by the image below and then on Import Account:

    Importing Account

    On next window, select the option to import from a Private Key, paste your key and click on Import to complete the step.

    Your account should now be imported.

    known issue on MetaMaskarrow-up-right
    Sef Wallet is part of the $20M Grants & Bounties on Walletarrow-up-right & $300M+ on Bounties, grants, DAOsarrow-up-right focusing on onchain with wallet security.

    ADVANCED SECURITY

    • Guardians for added protection

    • Spending limits

    • Open-source contracts

    • Independently audited

    AUTHENTICATOR RECOVERY

    No more worrying about losing mnemonic keys, private keys, email or passwords to restore your wallet. Recovery is done with your authenticator codes on the blockchain with merkle proof.

    ASSETS MANAGEMENT

    • Supports HRC20 send/transfer

    • Local prices conversions to dozens of languages

    SWAP ON SUSHISWAP

    • Native support for sushiswap

    • Supports over dozens of of tokens

    CONNECT TO DAPPS

    • Connect any dapps with WalletConnect

    • Access to Defi features on Sushiswap.

    Please visit https://sefwallet.onearrow-up-right with your mobile device to download the harmony mobile app.

    See "Importing 1BTC Tokenarrow-up-right" as an example.

    Complete the step by clicking on "Add Custom Token". Your custom HRC20 Token will show up in MetaMask along with its balance.

    hashtag
    Sending a HRC20/HRC721 Transaction

    Click on the asset you want to send your tokens from on the Asset tab. Click on Send button and on next window copy paste the destination address starting with 0x, fill the amount you want to send, click on Next and then on Confirm.

    hashtag
    Receiving a HRC20/HRC721

    In order to receive a transaction, just share the 0x address format of your wallet. One Wallet supports sending HRC20/HRC721 transactions to either addresses starting with 0x or one1.

    hashtag
    DeFi Kingdomsarrow-up-right

    DeFi Kingdoms is a game, a DEX, a liquidity pool opportunity, a market of rare utility driven NFTs, and it all plays out seamlessly in the incredibly nostalgic form of fantasy pixel art.

    hashtag
    Tranquil Financearrow-up-right

    Tranquil is an algorithmic money market and liquid staking protocol for Harmony. It's now part of the Defira metaverse

    hashtag
    ViperSwap

    DefiLlamaarrow-up-right
    Sushiarrow-up-right

    The second smallest unit of ONE is called Nano, which is 0.000000001 ONE (equivalent to Gwei in Ethereum)

    hashtag
    Utility of ONE

    ONE token has several important utilities that’s required for using the network and is essential to the security of the network.

    hashtag
    Pay for transaction fee

    ONE token is the native token for paying transaction fees. Users need to specify a certain amount of transaction fee in ONE so the transaction can be successfully processed and included in the blockchain.

    hashtag
    Stake to secure the network and earn reward

    Harmony is a Proof-of-Stake blockchain which means the security of the network is protected by staked tokens. ONE token is the native token that’s accepted for staking. Potential node runners need to stake a certain amount of ONE token to be elected as a validator. ONE token holders are also able to delegate their ONE tokens to existing validators to participate in the staking process. The more ONE token staked, the more secure the network becomes. Elected validators who successfully sign blocks will receive block rewards in ONE tokens as compensation for their services.

    hashtag
    Participate in open governance

    Harmony is a permission-less and decentralized network which is governed by the community. Any protocol level decisions or improvements will be put as a proposal which will go through the open governance process to finalize. ONE is the only accepted token used as the measure for voting in the governance process.

    herearrow-up-right
    herearrow-up-right
    herearrow-up-right
    https://frontier.xyz/arrow-up-right

    Transactions

    hashtag
    Transaction Finality

    Block finality refers to the concept that a proposed block is finalized by the blockchain and can not be reverted or the cost of reversion is prohibitively high. Block finality is usually measured by how long it takes for the newly proposed blocks to be finalized. For example, in Ethereum, it takes more than 6 blocks or 1 minute to have reasonable confidence that the block is finalized and can not be reverted.

    Thanks to the nature of Harmony‘s FBFT consensus, blocks can be finalized as long as the 2/3 majority quorum is reached on the block. On Harmony mainnet, it now takes 2 seconds to finalize a newly proposed block and the transactions inside. Read more about our 2-second finality here:

    hashtag
    Transaction Fees

    Harmony follows the same transaction fee model as Ethereum where users pay a certain amount of tokens to get their transactions processed and included in the blockchain. Since Harmony is fully EVM-compatible, users can translate directly the fee model from Ethereum and apply to Harmony. For example, a normal token transfer transaction cost 21000 gas. The gas price can be as low as 0.0000001 ONE (or 100 Gwei as in Ether) since Harmony have high TPS and the network is highly efficient and rarely clogged. This means a normal transfer cost only about 0.0021 ONE. In General, transactions in Harmony network cost around $0.00003 gas fee.

    The reason for Harmony to be able to afford such low fee is twofold. First, Harmony is Proof-of-Stake chain where the cost of running a node is much cheaper than PoW chains as no wasteful computation is needed. Second, Harmony is a highly scalable blockchain which currently provide thousands of transactions per seconds as throughput. This means users don't need to bid with high fee to get their transaction processed in time. We expect the low fee situation will stay as long as Harmony network is not fully utilized and even if that happens, we can solve the problem by extending the network with more shards to provide more transaction processing power.

    hashtag
    Cross-Shard Smart Contract Transaction

    The latest design is documented here: . The following design is deprecated.

    We will adopt the asynchronous cross-shard communication model just like we did for cross-shard ONE token transfer. Meaning any smart contract which needs to call another smart contract from another shard will have the sender contract transaction finalized first at initiating shard, then a receipt will be created including the call data, and finally the receipt will be sent and processed at the destination shard.

    A new Opcode “CALL2” will be added to the virtual machine which is used for a cross-shard smart contract call.

    CALL2’s input is similar to CALL but with an another shardID parameter:

    Unlike CALL which actually executes the contract code within the same shard, CALL2 won’t run any code but only lead to the creation of a receipt after the transaction is successfully confirmed in this block. The receipt structure can be like this:

    Specifically:

    • TxHash: the transaction hash of the original transaction sent from the real user

    • Sender: the address of the transaction sender

    • From: the address of the caller smart contract which initiated the cross-shard call

    Once the corresponding block of the receipt is finalized, a proof data for the receipt will also be generated. This is exactly the same as cross-shard ONE token transfer:

    Once the receipt and proof are obtained, they will be sent from source shard to destination shard (CXReceipt.ToShardID) for processing.

    The destination shard process the cross-shard smart contract receipt by:

    1. Verify the receipt is valid using the proof data

    2. Use the CXReceipt.To as the callee smart contract address and CXReceipt.Input data as the contract call data for contract execution. CXReceipt.Amount and CXReceipt.Gas are also used the same way as normal contract calls.

    3. If this contract call produces additional cross-shard contract calls. Additional receipts will be generated and the same cross-shard call process will happen.

    hashtag
    Design Questions:

    1. What if the callee contract doesn’t exist in the destination shard?

      1. We could simply abort the cross-shard call but credit the gas to the destination shard. This way, we don’t need another cross-shard receipt to go back to the source shard to credit the gas.

      2. Or we could create a brand new contract. This requires the receipts include the contract bytecode which can be user specified or the same as the caller contract’s code (in case of HRC20 contract replication across shards)

    1Wallet

    Best Crypto Wallet for Billions

    • Demo on Harmony Mainnetarrow-up-right

    • Harmony's Wallet Strategyarrow-up-right

    • Tweets on Updates and Newsarrow-up-right

    hashtag
    Project Summary

    ⚡ WHY: can earn 10% or more annual returns with crypto assets. But they must stop worrying about seed phrases, device loss, email phishing, phone hijacking... We everyone’s financial future against password breaches, software bugs, platform malware and .

    👩‍👩‍👧‍👦 WHOM: Global consumers with just a few thousand dollars and no technical background.

    💎 WHAT: A digital wallet for crypto assets, investment and identity. Consumers can buy crypto assets , then trade between multiple platforms. They can earn fixed-rate interests or actively invest for higher returns. can hold or .

    🤯 MAGIC

    • Earn for the first million users.

    • No emails, SMS, passwords or government documents necessary.

    • Seamless between assets from Bitcoin, Ethereum or .

    🔨 HOW

    • Many offer 10% yields, offer 10%, and offer 20%.

    • Assets and keys are secured on blockchain; and .

    • Harmony supports non-custodial and trustless transactions in 2 seconds and at less than $0.01 fees.

    💪 WHO: Ph.D.s, , formal verification as security audit, , billion user products.

    🔥 WHERE: The Future of Money is already here but unevenly distributed. Decades of cryptography, in production.

    🚀 WHEN: Product launch in 2021 Q3 with 1000 users, then 10k users in Q4 with each wallet holding $1000. A prototype with minimal features on mainnet in July.

    💡 Terms

    • : friends or other devices unlock funds for you if you lose access to your wallet.

    • Non-custodial: no network, software, developers, government or even Harmony control your fund.

    Join us at , and .

    circle-info

    Note: While your assets are completely safe and secure, please note the beta 1wallet app is currently under active development.

    hashtag
    Security Goals

    ONE Wallet is designed with these goals in mind for security:

    hashtag
    Social (people)

    • Resilient. Funds are recoverable through time locks and multiple safety nets. No single point of failure such as thefts, cracks, loss, censorship or coercions is catastrophic.

    • Sufficient. All steps are well defined without delegating to hardware devices or seed phrases in safety boxes. Users do not need any passwords or rely on biometrics.

    • Anonymous. An account is a fresh cryptographic hash, not tied to existing systems or real-world identity. Derived paths support multiple public keys to protect privacy.

    hashtag
    Smart (code)

    • Composable. One-time or low-entropy passwords are useful for small funds. Multiple authentications can independently boost protection thresholds against brute-force.

    • On-chain. A decentralized network with high stakes and fast finality validates all transactions. Its platform has sustainable incentives and open governance to evolve.

    • Programmable. Operations can call third-party contracts, store history of states, or upgrade its code. Complex applications may use oracles of time, locations and events.

    hashtag
    Hard (math)

    • Self-Sovereign. No third parties, government documents, designated guardians, backup servers or hardware enclaves are necessary. Users have full custody and self control.

    • Air-Gapped. Key-loggers and man-in-the-middle attacks are minimized. The full parameters of transactions are easy to verify and approve without cables or cameras.

    • Verified. Trusted are only open source and hardened cryptography. Formal verification, through logical frameworks, assures end-to-end security beyond tests and audits.

    hashtag
    Tradeoffs

    There may be conflicts, tradeoffs or impracticality of the goals above. Here's our rule of thumb:

    1. Toward validating our innovation with 10k users (each with $100 assets), focus on these three goals: sufficient, resilient and composable.

    2. Toward adopting our product with 1m users (each with $1k assets), differentiate with these three goals: on-chain, self-sovereign and air-gapped

    Staking

    Follow the steps below to stake your ONE using Math Wallet.

    Visit the staking dashboard at https://staking.harmony.one/arrow-up-right and click Sign In.

    The screen will prompt you to make a selection.

    Choose "Use an Existing Address".

    Click "Use Math Wallet" from the next selection of options and then click "Sign In".

    Sign in to your Math Wallet browser extension. You will see a Login Request pop up. Select your wallet and then click Accept.

    You will be brought back to the Validator page of Staking Dashboard. You will be able to see your address on the top left corner under the Harmony logo which means you are now signed in to your account.

    Locate and click on your preferred validator from the list.

    The validator profile page will open. Click on the Delegate button.

    Option #1: Enter the desired amount of tokens you would like to delegate and click next or...

    Option #2: Use the slider to determine the percentage of your ONE you wish to stake.

    Click Next and then click Confirm and Sign.

    Click Accept to confirm the signature request on the Math Wallet pop-up window and wait a few seconds. If the transaction completes, you will find a success confirmation pop-up on your screen.

    You are now staking your ONE with a validator and will begin earning rewards at the start of the following epoch.

    Click the Portfolio link on the left to view your stake amount, rewards accumulated, and a list of any validator to whom you have delegated your coins.

    Sending & Receiving

    circle-info

    You can receive transactions to addresses starting with both one1 and 0x. However, Metamask does not allow you to send transactions to addresses starting with one1. You will need its' equivalent 0x address as the destination address. For that, follow the procedures below.

    hashtag
    Retrieving the 0x Equivalent Address

    • For mainnet, go to (Mainnet). For testnet, go to .

    • Search for your one1 address at the top.

    • At top of the screen, toggle the address format from ONE to ETH.

    • Copy the 0x address format by clicking on the small icon right to the address

    You now have the 0x address which corresponds to your one1 address.

    hashtag
    Sending a Regular Transaction

    To send a transaction on MetaMask, click on Send button and on next window paste the destination address starting with 0x, fill the amount you want to send, click on Next, and then click on continue.

    hashtag
    Receiving a Regular Transaction

    In order to receive a transaction, simply share the 0x address format with the sender.

    Metamask Wallet

    Average setup time is 3-5 minutes:

    1. Download Metamaskarrow-up-right Mobile App from Apple App Store

    2. Click on Get Started

    3. Select Create a new wallet

    4. Scroll and select No thanks for Metamask data

    5. Create Password and select Face ID (MetaMask cannot recover your password, write this down in a safe place, DO NOT TAKE A SCREENSHOT)

    6. Allow Face ID

    7. Secure Wallet (*even more important than password, should never be shared with anyone, even MetaMask)

    8. Review Metamask Tips (store phrase in a secure location)

    9. Make sure no one is watching before revealing phrase, click View

    10. Write your Secret Recovery Phrase in a safe place

    11. Choose to enable automatic security checks (we recommend that you enable this)

    12. You’re all set! Now

    13. Now that you have , let’s get you ready for ONE 🎉

    14. Click Wallet at the top of the screen

    15. Click Add Network

    16. Select Add for Harmony Mainnet Shard 0

    17. Approve (make sure the information is the same)

    18. Switch to Network

    19. To Get ONE you’ll need your ONE address

    20. With Metamask open make sure the Wallet is on Harmony Mainnet Shard 0

    21. Click your address on the top of the page to copy it

    22. Once the address is copied, select ONE

    23. Select the three dots on the top right and View on block explorer

    24. Paste in Search

    25. Your ONE address will automatically load

    26. Select the copy icon to copy the address

    (For additional iPhone security measures, follow this )

    Download & Setup

    hashtag
    Installation

    1. Access the Google Chrome web store and install the Math Wallet extensionarrow-up-right.

    circle-info

    Note : Ensure to use the latest available version of Math Wallet (greater than 2.0.7).

    Previous versions have a known bug and are not supported.

    1. Open the extension in your browser and create new password.

    1. Select Harmony from the list of networks.

    Undelegating

    Follow the steps below to undelegate your staked ONE using the Math Wallet browser extension.

    Visit and sign into the staking dashboard at https://staking.harmony.one/arrow-up-right, if you are signed out.

    Click on the Portfolio link to the left.

    This page will display information about your staked ONE including a list of validators to which you've delegated your ONE, amount of staked ONE, and unclaimed rewards.

    You can undelegate from one or more validators where your ONE is staked.

    From the Portfolio view, select the validator(s) from which you wish to undelegate by clicking on their validator name. This brings up the validator profile page.

    Click the Undelegate button.

    You will be prompted to specify how much you wish to undelegate from the validator. From here, specify an amount you wish to undelegate or click Set Max to undelegate all ONE from the validator.

    Click Next and then click Confirm and Sign. This will open a window for Math Wallet.

    Click the Accept button to sign your undelegation / unstaking transaction.

    You should see a notification for your successful undelegation.

    Your ONE is now undelegated from the validator. You may have more ONE staked with other validators. To undelegate fully, repeat these steps again through the list of validators on your Portfolio page.

    Create/Import/Export Wallet

    You can choose to create a wallet through the extension or import your existing wallet using a mnemonic phrase or a private key.

    When you create a wallet, please write down your mnemonic correctly and keep in a safe place.

    You may also import your Harmony Account using your mnemonic or private key.

    You can also choose to export your keys in Settings. Your keys will be exported into a txt file with both private key and mnemonic.

    Media

    We engage publicly with wallet researchers and experts towards building the best end product. Here is a collection of our discussions.

    balajis.com @balajis · Jun 11 Replying to @matthew_d_green Yes. But here’s a possibly dumb workaround:

    1) A listens for events on chain 2) B sends a decryption request for resource to A’s address 3) A returns decrypted version, re-encrypted with B’s public key, if in a valid time window

    Sort of like multisig with restrictions?

    stephen tse | s.one @stse · Jul 3 smartotp by @IHomoliak has a research paper & a prototype - with a wallet for private keys

    "keyless wallet" by @dionyziz has a theoretical result assuming witness encryption

    our @1wallet_ by @polymorpher has a mainnet demo with hardened client security

    nick.eth @nicksdjohnson · Jun 11 Replying to @AutismCapital 2FA only works when you have a central service that controls access to your data. The wallet equivalent of 2FA is a hardware wallet.

    stephen tse | s.one @stse · Jul 4 why can't public and decentralized platforms do 2fa services?

    Pedro Gomes 🦇🔊📲 @pedrouid · Feb 13 Replying to @zmanian I think it’s also due to user demand

    A pure wallet would essentially just display different signing authorization screens without a specific use-case

    Cryptocurrency wallets on the other hand transfer funds, show balances, etc

    stephen tse | s.one @stse · Jul 4 how about separating wallets from authenticator? with one-time-password (otp) like google auth

    Timeless

    hashtag
    About Timeless

    Timeless is reimagining the role of the calendar in our daily lives. They provide a delightful user interface, enabling users to seamlessly network their events with others via our Web RSVP pages. Instead of serving as a reminder for certain tasks, They are building out the discovery of services that will grow a marketplace in our calendar, intuitively helping users conquer the day. Timeless is driven to help users make the best use of their time, doing what matters, with the people they care about.

    hashtag
    Shared Cultural Experiences

    Timeless and Harmony can tokenize unique events and experiences on merging NFTs with some of the biggest events of the summer, from live concerts, sporting events, and many shared cultural experiences.

    hashtag
    Non-Fungibility of Time

    While we have the same amount of time in a day, how we spend our time is what gives meaning & value to each life’s moment. So, Timeless is creating bespoke 3D art to accompany life-enriching experiences.

    hashtag
    Web RSVP

    Timeless will streamline the onboarding process for NFT Moment auctions, deploying Web RSVP. It is integrated with your calendar and enables fast & easy event participation.

    User Guide

    Learn to setup and use your 1wallet

    1Wallet: 1wallet.crazy.onearrow-up-right

    hashtag
    Creating Your ONE Wallet

    First, make sure to have Google Authenticator installed on your mobile device. Click on button Create and a QR Code similar to the image below will show up. Scan this QR Code using Google Authenticator app and type the random 6-digit code.

    QR Code

    After inputing the 6-digit code you will be redirected to a new window. Fill the recovery address and click on Create Now.

    circle-exclamation

    Make sure to setup a recovery address you have the keys of. This is in the case you lose access to Google Authenticator.

    If everything went alright you should see your wallet created:

    hashtag
    Restoring Your ONE Wallet

    Click on button Restore and paste your wallet address:

    Follow the instructions on the next window:

    hashtag
    Videos

    Components & Tools

    hashtag
    DAO Ecosystems

    Aragon: https://client.aragon.org/arrow-up-right

    DAOHaus: https://app.daohaus.club/arrow-up-right (coming soon to Harmony)

    hashtag
    Governance Tools

    (coming soon to Harmony)

    hashtag
    Multisig Wallets

    Gnosis Safe

    hashtag
    Gnosis Safe on Harmony

    The Gnosis Safe is a smart contract wallet with multi-signature functionality at its core. Gnosis Safe Application on Harmony:

    hashtag

    Download & Setup

    Setup your Ledger device for ONE tokens

    circle-info

    Currently Harmony is available only on Ledger Nano S. Please use preferably the "Installing using Ledger Live" method, as this is the easiest way to get your Harmony App installed on Ledger.

    hashtag
    Installing using Ledger Live (RECOMMENDED)

    Download & Setup

    The Harmony CLI tool is used to interact with the Harmony blockchain.

    circle-info

    Throughout this guide, we will use the following syntax:

    • ./hmy: This is the CLI program

    Fiat Gateways

    hashtag
    Crypto.com

    Buy ONE on Crypto.com with credit card, debit card and bank transfers.

    hashtag

    DAOs

    A "Decentralized Autonomous Organization" is a mechanism for coordinating behavior and allocating resources. It has been called "an internet community with a shared piggybank" or "a bookclub with a bank account" but, regardless of the metaphor, DAOs represent a visionary approach to working that we believe will revolutionize the future of work.

    As of August 1st, 2021, Harmony is working to "seed" and "kickstart" several DAOs in order to decentralize the management and effort in operating the Harmony Network. Through several experiments and trial runs, several key principles have risen to the surface as vital components of a truly decentralized DAO. Please note that, while these components are necessary for a DAO to receive a seed grant from the Harmony Foundation, they are not sufficient. Meaning: if you are forming a DAO that you would like to see supported by the Foundation - you MUST follow these principles. However, just because you follow these principles does not automatically mean that you will receive Foundation support.

    Principle #1: The Mandate

    The Harmony Foundation has found that a three-fold mandate is ideal for organizing a community. For example, the ONECommunityDAO has the mandate "Growth, Engagement, Diversity"

    Cross-Border Finance

    Why Finance? Blockchains enable many marketplaces but banking services are the native use.

    Consensus protocols are creating new economies with tokens and trading. Smart contracts are serving as a platform for collectibles and gambling.

    These early use cases are driven by the core value of blockchain: providing exchange and liquidity infrastructure for financial transactions. Harmony focuses on broader financial products as they are and ready for mass adoption.

    Why Cross-Border? Open platforms work locally but global users are the most underserved.

    Finance products within one country are already . On the other hand, purely on-chain #DeFi solutions without onramp gateways or local distribution have limited impact in real-word economies.

    Research on Keyless Walletarrow-up-right
    Billions of usersarrow-up-right
    can securearrow-up-right
    exchange hacksarrow-up-right
    via credit cardsarrow-up-right
    Their profilesarrow-up-right
    digital artsarrow-up-right
    custom domain namesarrow-up-right
    20% annual interestsarrow-up-right
    any networksarrow-up-right
    staking protocolsarrow-up-right
    lending protocolsarrow-up-right
    liquidity poolsarrow-up-right
    only need Google Authenticatorarrow-up-right
    social recoveryarrow-up-right
    ex-Google developersarrow-up-right
    top branding agencyarrow-up-right
    builders ofarrow-up-right
    best researcharrow-up-right
    Social recoveryarrow-up-right
    @1wallet_arrow-up-right
    demoarrow-up-right
    wikiarrow-up-right
    connect to Harmonyarrow-up-right
    Metamask set uparrow-up-right
    linkarrow-up-right
    Websitearrow-up-right
    Timeless Twitterarrow-up-right
    Timeless Mediumarrow-up-right
    https://explorer.harmony.one/#/arrow-up-right
    https://explorer.testnet.harmony.one/#/arrow-up-right
    Address Format

    ./hmy.sh -- : This is the command to use the CLI with a shell wrapper (for macOS)

  • <argument>: This is a required argument

  • [argument]: This is an optional argument

  • / : This is a line break, used to break up a line while writing a command

  • hashtag
    Download Harmony CLI tool

    hashtag
    1. For Linux

    Enter the following command into your shell of choice:

    circle-info

    If you have permission issues, enter the commands with "sudo" at the beginning, i.e. "sudo curl -LO https://harmony.one/hmycliarrow-up-right && mv hmycli hmy && chmod +x hmy"

    hashtag
    2. For MacOS

    hmy depends on some dynamic libraries, hence we recommend using the shell wrapper. Enter there commands into your terminal:

    Now you can use hmy.sh as a wrapper over hmy and you should assume that all references to hmy in these documents refer to hmy.sh. For example, the command ./hmy becomes ./hmy.sh -- .

    circle-exclamation

    Note that since hmy is not statically linked, you cannot arbitrarily move hmy.sh to anywhere on your filesystem like you could with a single binary.

    hashtag
    3. Compiling from source

    If you are interested in compiling from source, then the process is more involved.

    Steps:

    1. Clone the repositoryarrow-up-right at the same level as the main Harmony repo:

    circle-exclamation

    Have mclarrow-up-right, blsarrow-up-right all built and prepared. This may require you to see instructions in the harmonyarrow-up-right repo's readme.

    1. Then setup the build flags:

    1. Call make in the go-sdk repo. This builds a binary named hmy:

    Congratulations! You can now use the binary to run the CLI.

    curl -LO https://harmony.one/hmycli && mv hmycli hmy && chmod +x hmy
    curl -O https://raw.githubusercontent.com/harmony-one/go-sdk/master/scripts/hmy.sh
    chmod u+x hmy.sh
    ./hmy.sh -d
    cd $(go env GOPATH)/src/github.com/harmony-one
    ls
    bls harmony mcl
    git clone https://github.com/harmony-one/go-sdk.git
    source harmony/scripts/setup_bls_build_flags.sh
    cd go-sdk
    make
    To: the address of the callee smart contract in another shard
  • ShardID: the shardID of the caller smart contract

  • ToShardID: the shardID of the caller smart contract

  • Input: the input data for the smart contract call, exactly like the payload of a normal intra-shard transaction that calls a smart contract

  • Amount: is the among of ONE that is sent along with the call to the callee smart contract

  • Gas: the gas that’s going to be paid to the destination shard.

  • What if the gas sent in the receipt is not enough to pay for the transaction?

    1. Simply abort the contract call as a normal transaction “Out of Gas” situation.

  • In any failure cases of the cross-shard contract call. The sent token in CXReceipt.Amount should be credited to?

    1. The sender address in the destination shard. This avoids having to send another cross-shard receipt to credit the token back to the sender shard.

  • https://gitlab.com/mukn/harmony1-proposal/-/blob/main/README.mdarrow-up-right
    Connect Wallet

    You can connect to Gnosis Safe using Metamask.

    1) Go to the Safe application on Harmony at https://multisig.harmony.onearrow-up-right and click on Connect Wallet.

    2) Chose your wallet.

    hashtag
    Connecting with MetaMask

    Select the MetaMask option in the connect wallet menu. Check that the correct MetaMask account is active and connected to the Harmony Network.

    Connecting Account

    hashtag
    Create Safe

    1) Press Create new Safe.

    Create New Safe

    2) Name the safe. This will be stored locally. Press Start to continue.

    Name the Safe

    3) Add additional owners if you want. For each additional owner:

    1. Click Add another owner

    2. Give Owner a Name

    3. Enter Owner an Address

    4. Select how many owners will be required to confirm a transaction

    5. Press Review

    4) Submit your safe by clicking on Submit. You will need a very small amount of ONE tokens to confirm the transaction.

    Safe review

    5) Confirm the transaction on Metamask.

    6) If all steps were sucessfull your Safe should have been deployed. Just click on Continue.

    hashtag
    Load Existing Safe

    You can load the Safe on other devices, so everyone can sign transactions using the same safe, but using different accounts.

    1) On main page there is an option called Load Existing Safe. Click on this button as shown by the image below.

    Load Existing Safe

    2) Pick a name for your Safe and paste the Safe Address. The Safe Address can be found on the main page. If you are in doubt please check section Receive Tokens.

    Loading Existing Safe

    3) Review owners by clicking on Review.

    Review Owners

    4) Load Safe by clicking on Load.

    Load Safe

    If sucessfull, you should see your Safe loaded on main page.

    hashtag
    Send Tokens

    1) On the main page click on New Transaction.

    2) On next window click on Send funds. You can also send collectibles, but for this example we will be sending normal tokens.

    Send Funds

    3) On next window fill the recipient address you want to send your tokens to and the amount. After that click on Review.

    Review Transactions

    4) O next window click on Submit.

    5) A Metamask window will pop up for you to confirm the transaction. You should see your transaction confirmed on the next window. On our example we are using 2 of 3 signatures for the tokens to be sent out of the Safe.

    6) We need at least one more account to confirm the transaction on the safe. Just click on Confirm logged in with the required account.

    Click on Confirm

    7) Approve the transaction by clicking on Approve Transaction.

    Approve Transaction

    8) If all the parts have confirmed the transaction you should see Success on top.

    hashtag
    Receive Tokens

    Once you have a Safe deployed, you can use the Safe address to receive tokens. Just click on Copy to clipboard.

    Copy to Clipboard
    https://multisig.harmony.onearrow-up-right
    hashtag
    1. Turn on Developer

    Download and install the latest Ledger Live version onto your computer. Ledger Live is the app you use to manage your Ledger device. Please follow the official installation instruction herearrow-up-right.

    circle-check

    Make sure to install the latest firmwarearrow-up-right on your device. This ensures compatibility with the Harmony app.

    Open Ledger Live, select Manager. Turn on Developer Mode in Manager: Settings -> Experimental Features -> Developer Mode, as shown below:

    hashtag
    2. Search for the App in the Catalog

    Ledger live provides app catalog for different types of apps, as shown below:

    To find the Harmony app, type harmony in the search bar, as shown below:

    hashtag
    3. Install/Remove the App

    There are two buttons associated with Harmony One app. The install button can be clicked to install Harmony One app to Ledger Nano. The app can be uninstalled by clicking the trash bin button.

    hashtag
    4. Using the App

    To use Harmony One app, please check your Ledger Nano device and click both buttons to open the app.

    hashtag
    Installing Manually (Windows)

    triangle-exclamation

    These instructions are only for advanced users who want to install Ledger manually.

    hashtag
    1. Install Python

    To install Python 3.8.1 for windows, go to this websitearrow-up-right.

    circle-info

    This is the latest version as 18th Jan 2019 that was tested, newer version could work or not‌.ese instructions install version 1.6.0. If you want to install another version, change the parameters on step 3.

    At the end make sure you add the python binary to the path:

    hashtag
    2. Install Packages

    Execute the commands below on the windows terminal:

    hashtag
    2. Download Latest Version

    Click herearrow-up-right to download the latest avaialable version. Make sure you download it using the raw format from Github like shown below:

    hashtag
    3. Install the App

    circle-info

    These instructions install version 1.6.0. If you want to install another version, just download the corresponding version and change the parameters below accordingly.

    Move the ver1.6.0.hex file downloaded before tovenv\Scripts folder and execute the command below to install the app:

    Confirm the installation of the app on your Ledger.

    hashtag
    Installing Manually (Ubuntu Linux)

    triangle-exclamation

    These instructions are only for advanced users who want to install Ledger manually.

    hashtag
    1. Install Packages

    hashtag
    2. Downloading the App

    hashtag
    3. Installing the App

    circle-info

    These instructions install version 1.6.0. If you want to install another version, change the parameters below for any version available on the release folder.

    Confirm the installation of the app on your Ledger.

    Binance US

    hashtag
    Ramp

    Have you all heard about @harmonyprotocolarrow-up-right? It’s the Proof-of-Stake blockchain with a two-way Ethereum bridge, ultra-fast transactions and built-in interoperability. And its native token #ONEarrow-up-right was just added to Ramp SDK. Buy it today at http://go.ramp.network/onearrow-up-right!

    hashtag
    Transak

    hashtag
    Simplex

    hashtag
    CoinDCX

    hashtag
    WazirX

    and the ONEValidatorDAO has the mandate
    "Decentralization, Security, Participation
    ".

    Each mandate has two descriptors or "sub-mandates". To illustrate, the ONECommunityDAO has "Onboard users on mission & culture, Pollinate values across communities" as the descriptors to "Growth". As a result, we understand that the DAO will focus not simply on "growth" but on growing the community to share in the same mission and culture and to make sure that the values of the project are shared across the community.

    Principle #2: Formation

    Sifting order from chaos is the mark of a true alchemist. Any DAO that gets formed has a root in a handful of dedicated individuals coming together to work towards a common purpose. We have found that there exists a critical mass of participants that will help establish a DAO for the best chance in sustainability.

    9 governors tends to be the magic number of core members, initial members. They can come together to determine a Mandate and set up the basic tools of their DAO.

    It is usually the case that 1 governor becomes a lead governor that focuses on bringing together like-minded people to serve as signatories on a multi-sig wallet.

    Principle #3: Transparency / Non-private Information

    Discussions and debates about the priorities and choices facing a DAO should all be open to the public. Even though seeing "how the sausage is made" can be off-putting, it is vital that there is no layer of privileged or insider information. All information must needs be shared with all members of the DAO.

    Principle #4: Elections & Rotations

    At times it is difficult to break from our historic mental models. In the case of a DAO - a "governor" has no more authority than any other member of the DAO. He/She does, however, have the responsibility to be a signatory for the DAO's multi-sig wallet. That is it. Governors will get compensated for their efforts on behalf of the DAO, but then, so will everyone else. When a vote comes to a close, it will be the responsibility of the governor to ensure that any funds associated with a vote are distributed promptly and effectively.

    As a result, the concept of "terms" or "term limits" don't have corollaries in a DAO. Elections do not serve to put anyone in as an "official manager" of a DAO - only to select the member of the DAO that will serve as the signatory for the multi-sig. As a result - DAO elections shall happen every 3 months.

    Principle #5: Fluidity

    DAO participants are fluid. Most are open to join and leave at any given time with the only thing binding the community together being a joint interest in the Mandate of the DAO. Additionally, there is no hierarchical authority in a DAO. Everything -- everything -- is established through voting and protocol. As a result, concepts such as "conflict of interest" or "self-dealing" have limited effect. If the community believes a member of the DAO (who also happens to be a governor) is best suited for a contract or paid engagement of some sort, that governor is not excluded simply because of their role as being a signatory. This is why there are 9 governors.

    In the end, we envision members of our Harmony Community participating in as many or as few DAOs as they have interest in. Any engagement in one DAO does not preclude them from engagement in another. We encourage all to participate and all to engage in one way or another.

    Harmony focuses on bridging high-growth economies in countries such as China and India, hence #CrossFi for cross-border finance. Harmony remains an infrastructure layer; our local partners serve customers with country-specific products and compliance.

    Why Harmony? Not only fast and secure, Harmony is decentralized and guarantees privacy.

    Ethereum’s short-term pains are scalability and securityarrow-up-right, which Harmony has solved with sharding and proof-of-stake. The long-term value of open platforms is decentralization, which Harmony has committed to with thousands of nodes and open developmentarrow-up-right.

    Private transactionsarrow-up-right, similar to secure HTTP for the Internet, are essential to businesses and corporations. However, governments mandate audits and compliance. Harmony solves this dilemma by bringing auditable privacy to production.

    How? We are customer obsessed but must identify the right customers and external values.

    The market is dividedarrow-up-right into serving consumers or businesses: c2c (cash remittance), c2b (ecommerce billing), b2c (employee payroll)arrow-up-right and b2b (marketplace payout).

    Platform protocols seek rent but must inject capital from off the chain as revenue.

    The values Harmony provides for customers, beyond open settlement, are forex quotes and peer-to-peer liquidity.

    Stablecoins and forward contracts can manage fluctuations in fiat currencies; private matching can pool together local reserves like trades with over-the-counter (OTC).

    well validated with Ethereumarrow-up-right
    highly efficient and protectedarrow-up-right
    Snapshot
    Tallyarrow-up-right
    Select the wallet from which you'd like to stake your ONE.
    Your one1 address will appear in the top-left of the staking page upon signing in.
    Staking 100% of your ONE leaves you with no gas to pay for additional transactions. We suggest leaving a small amount of ONE in your wallet; a single ONE will cover over 1,000 transactions.
    Undelegating Options - Specify an Amount or Set Maximum Amount
    Signing the Transaction
    Successful Undelegation
    Setup Recovery Address
    Wallet Created
    Wallet Address
    Restore Wallet

    Staking Transactions via Ledger

    Check the validators page to see list of validators. Click on desired validator logo to check validator details.

    Click on the "Delegate" button to delegate to this validator.

    Enter the desired delegation amount or scroll the percentage slider in the pop-up Delegate window. Delegation must be at least 100 ONE. Click on "Next" and confirm the signature request.

    Check your Ledger, it will display "Delegate Stake" in the LED screen. Press the right button to start signing the transaction.

    Check the delegator address. Press the right button to show full address. If correct, press both left/right buttons to continue.

    Check the validator address. If correct, press both left/right buttons to continue.

    Check the delegation amount. If correct, press the right button to continue:

    Press right button for Sign Stake confirmation.

    The entire process is shown below:

    Once transaction is signed, Delegate window will pop-up on the staking dashboard and display the transaction status.

    List of Transaction Error Messages

    Here is the list of failed transaction messages which can be checked by querying your transaction hash, checking the transaction hash on explorer or checking the blockchain pool transactions.

    Here is how with the hmy cli :

    ./hmy failures plain --node="https://api.s0.t.hmny.io"
    ./hmy.sh -- failures plain --node="https://api.s0.t.hmny.io"
    circle-info

    failed messages are network and shard specifics, please use the shard you were sending the transaction from and change the --node value accordingly. Mainnet example on shard 1 would be : https://api.s1.t.hmny.io

    CLI 1Wallet User Guide

    CLI (Command Line) Version of 1Wallet

    Go to https://github.com/polymorpher/one-wallet/releases/tag/v0.1-cliarrow-up-right and download the file that is appropriate to your operating system (1wallet-linux, 1wallet-macos, or 1wallet-win.exe).

    • I saved it in my downloads folder, but you can save it anywhere.

    • Open your Terminal (I'm a Mac user), and run the following commands:

    cd downloads
    
    chmod +x ./1wallet
    
    ./1wallet

    Now that you have installed your CLI 1Wallet, you can do several things including:

    The first step is to scan the QR code.

    Once you have done that, you can run the next command using the 6 digit authenticator code and a recovery address of your choice to create your 1Wallet.

    You should see a screen like this on your Terminal (yes, do you like my Matrix themed Terminal?):

    After that you can try to send a small amount of tokens to your newly created 1Wallet and in general test some of the other commands and functionalities.

    Let us know if you find any issues:

    Integrations

    hashtag
    Coinbase Rosetta API

    Harmony has finished it’s initial integration with the Rosetta APIarrow-up-right specification — an open-source framework to simplify blockchain interactions.

    So why did we choose Rosetta? Well, the biggest thing for us is that it allows for faster onboarding since it is a standard, chain agnostic, framework with sharding as a first-class citizen. Among other things, this greatly reduces interoperability friction between products spanning multiple chains. Moreover, Rosetta’s growing community and tooling were major factors as it means less effort from the Harmony team is needed to implement and, more importantly, maintain our Node API.

    hashtag

    By partnering with Gitcoin, Harmony reaffirms its commitment to developers. Overall we’re excited to partner with Gitcoin in our shared goal of growing the web3 open-source ecosystem.

    hashtag
    Magic (Fortmatic)

    Magic is an SDK for developers to create passwordless and social and email logins. Magic makes dapps authentication and key management easy, like a web2 experience, and removes headaches for developers.

    hashtag
    Chainlink

    Chainlink’s decentralized oracle will be launching on Harmony. This integration will provide off-chain data resources via Chainlink oracles to users of Harmony, giving developers price feeds and other off-chain data to use in their applications. This move is critical, especially as Harmony draws more of its attention to DeFi applications and cross-border finance.

    hashtag
    Band Protocol

    Our integration with Band gives developers another option for accessing off-chain data on Harmony, a much greater selection of data formats and types, and different ways of interacting with off-chain data based on the developer’s preferences unlocked through Band Protocol’s custom oracle scripts.

    Trust Wallet

    Trust Wallet is a mobile cryptocurrency wallet. Please visit https://trustwallet.comarrow-up-right with your mobile device to download the app. Users can stake in Harmony using Trust Wallet.

    triangle-exclamation

    IMPORTANT DISCLAIMER

    Please note that Trust Wallet does not support Harmony's sharded network architecture yet, so all transactions to or from Trust Wallet must go through shard 0. You can only view and access your funds in shard 0.

    hashtag
    Incoming transactions

    The funds that are sent within shard 0 will be viewed correctly in Trust Wallet.

    If you receive funds in a shard other than shard 0 (i.e. in shard 2), you will not see the transaction receipt in the Trust Wallet app. Since your account balance will only show the funds in shard 0, your total balance will not change.

    hashtag
    Outgoing transactions

    Since there is no shard selection in the Trust Wallet UI, all transactions will originate from shard 0 and will be sent to shard 0.

    hashtag
    For more details, please see these example cross-shard transactions using Trust Wallet:

    hashtag
    What to do if you receive funds in a shard other than shard 0 when using Trust Wallet?

    You will need to export the account in which you received the funds and import it to another wallet such as the CLI or Math Wallet.

    Example Using Math Wallet:

    1. Open Trust Wallet app

    2. Click on "Settings" on the bottom right

    3. Click on "Wallets"

    hashtag
    Import/Export Wallet

    Below are the official instructions on how to restore/import Recovery Phrase (mnemonic) on Trust wallet.

    hashtag

    hashtag

    Adding Harmony

    hashtag
    Adding Harmony to MetaMask

    Open MetaMask and click the list of networks at the top, then select "Add Network".

    NFTs

    Harmony is a fully Ethereum compatible blockchain ready to support all major NFT standards, including and .

    Several NFT platforms and campaigns have been launched on Harmony. The Harmony community has launched recently a NFT marketplace, daVinci Marketplace, in April 2021. See our other NFT highlights below:

    hashtag
    daVinci Marketplace

    daVinci is a NFT marketplace that supports the creation, buying and selling of NFTs minted on Harmony. You may access the marketplace here:

    DeFi

    hashtag

    Swap is a v3 Fork on Harmony. The decentralized exchange (DEX) gives users access to capital efficient liquidity pools.

    Uniswap v2 required all users to provide liquidity across the entire price curve from 0 to infinity, Uniswap v3 allows Liquidity Providers (LPs) to optionally concentrate capital in the price range they believe will generate the highest return.

    The Definitive Guide to Harmony Open StakingMediumchevron-right
    (caller ContractRef, addr common.Address, input []byte, gas uint64, value *big.Int, shardID uint32)
    // CXReceipt represents a receipt for cross-shard transaction
    type CXReceipt struct {
      TxHash    common.Hash // hash of the cross shard transaction in source shard
      Sender    common.Address
      From      common.Address
      To        common.Address
      ShardID   uint32
      ToShardID uint32
      Input     []byte
      Amount    *big.Int
      Gas       uint64
    }
    // CXReceiptsProof carrys the cross shard receipts and merkle proof
    type CXReceiptsProof struct {
      Receipts     CXReceipts
      MerkleProof  *CXMerkleProof
      Header       *block.Header
      CommitSig    []byte
      CommitBitmap []byte
    }
    python -m pip install --upgrade pip
    pip install virtualenv
    virtualenv venv
    cd venv
    cd Scripts
    Activate.bat
    pip install ledgerblue
    python -m ledgerblue.loadApp --appFlags 0x40 --path "44'/1023'" --curve secp256k1 --tlv --targetId 0x31100004 --targetVersion="1.6.0" --delete --fileName ver1.6.0.hex --appName One --appVersion 1.6.0 --dataSize 0 --icon 01ffffff00ffffff00ffffffffffffc7e1bbcdbbddbbcdbbc50bd8a3ddbbddbbddb3edc7e3ffffffff
    sudo apt update
    sudo apt install libudev1 libudev-dev libusb-1.0-0-dev python3-dev python3-pip python3-testresources git
    sudo pip3 install -U setuptools
    sudo pip3 install virtualenv
    virtualenv -p python3 venv
    source venv/bin/activate
    pip install ledgerblue
    git clone https://github.com/harmony-one/ledger-app-one
    cd ledger-app-one
    sudo ~/venv/bin/python -m ledgerblue.loadApp --appFlags 0x40 --path "44'/1023'" --curve secp256k1 --tlv --targetId 0x31100004 --targetVersion="1.6.0" --delete --fileName release/ver1.6.0.hex --appName One --appVersion 1.6.0 --dataSize $((0x`cat debug/app.map |grep _envram_data | tr -s ' ' | cut -f2 -d' '|cut -f2 -d'x'` - 0x`cat debug/app.map |grep _nvram_data | tr -s ' ' | cut -f2 -d' '|cut -f2 -d'x'`))  --icon 01ffffff00ffffff00ffffffffffffc7e1bbcdbbddbbcdbbc50bd8a3ddbbddbbddb3edc7e3ffffffff

    Occurs when the nonce associated with that transaction is too lower than the actual nonce

    insufficient funds for gas * price + value

    Usually when not enough holdings to pay for gas

    transaction gas is <tx gas-limit>: intrinsic gas too low

    Intrinsic gas is based on the size of the transaction including data

    transaction gas-price is <tx gas-price> ONE in full transaction pool: transaction underpriced

    Transactions can get dropped if tx pool is full and tx has lowest gas

    existing transaction price was not bumped enough: replacement transaction underpriced

    If a transaction attempts to replace another with less gas than the original, it will get dropped

    old transaction, nonce <tx nonce> is too low

    During promotion (from 'future' txs to pending txs in pool) the nonce is checked again

    unpayable transaction, out of gas or balance of <acc bal in ONE >cannot pay cost of <cost on ONE>

    During promotion (from 'future' txs to pending txs in pool) balance is checked again

    exceeds cap for queued transactions for account <one1... address>

    Each account has a limit in the number of txs it can put into the tx pool

    fairness-exceeding pending transaction

    If tx pool is full, txs from accounts with highest number of total transactions in pool will be dropped

    exceeds global cap for queued transactions

    Occurs when the tx can´t be queued because global cap for queued tx pool exceeds the max

    old transaction, nonce <tx nonce> is too low

    During demote (from pending txs in pool to 'future' txs) the nonce is checked again

    unpayable transaction, out of gas or balance of <acc bal in ONE > cannot pay cost of <cost in ONE>

    During demote (from pending txs in pool to 'future' txs) balance is checked again

    demoting pending transaction

    Tx was not added to the pool and move to queue of 'future' txs

    Message

    Notes

    transaction size is <tx size in Bytes>: oversized data

    A transaction cannot be more than 32KB to prevent DDOS attacks

    transaction value is <tx value>: negative value

    Transaction value is negative

    transaction gas is <tx gas-limit>: exceeds block gas limit

    Assumed to be hardcoded / config

    transaction sender is <tx from addr>: invalid sender

    Transaction sent from an invalid account

    transaction gas-price is <tx gas-price> ONE: transaction underpriced

    Too low transaction fee

    transaction nonce is <tx nonce>: nonce too low

    Cookbook

    The easiest way to get detailed help is to use the cli itself. For example below is the cookbook which gives an overview of various commands.

    circle-check

    By default, cookbook will show the mainnet shard 0 (https://api.s0.t.hmny.ioarrow-up-right) RPC endpoint. Use the parameter --node="<RPC>" so the example would show the s0 in the targeted network, example ./hmy cookbook --node="https://api.s1.os.hmny.io" would show s0 in OSTN

    ./hmy cookbook --node="https://api.s0.t.hmny.io"
    
    #Cookbook of Usage
    
    #Note:
    
    #1) Every subcommand recognizes a '--help' flag
    #2) If a passphrase is used by a subcommand, one can enter their own passphrase interactively
    #   with the --passphrase option. Alternatively, one can pass their own passphrase via a file
    #   using the --passphrase-file option. If no passphrase option is selected, the default
    #   passphrase of '' is used.
    #3) These examples use Shard 0 of Open Staking Network as argument for --node
    
    #Examples:
    
    #1.  Check account balance on given chain
    ./hmy --node="https://api.s0.t.hmny.io" balances <SOME_ONE_ADDRESS>
    
    #2.  Check sent transaction
    ./hmy --node="https://api.s0.t.hmny.io" blockchain transaction-by-hash <SOME_TX_HASH>
    
    #3.  List local account keys
    ./hmy keys list
    
    #4.  Sending a transaction (waits 40 seconds for transaction confirmation)
    ./hmy --node="https://api.s0.t.hmny.io" transfer \
        --from <SOME_ONE_ADDRESS> --to <SOME_ONE_ADDRESS> \
        --from-shard 0 --to-shard 1 --amount 200 --passphrase
    
    #5.  Sending a batch of transactions as dictated from a file (the `--dry-run` options still apply)
    ./hmy --node="https://api.s0.t.hmny.io" transfer --file <PATH_TO_JSON_FILE>
    #Check README for details on json file format.
    
    #6.  Check a completed transaction receipt
    ./hmy --node="https://api.s0.t.hmny.io" blockchain transaction-receipt <SOME_TX_HASH>
    
    #7.  Import an account using the mnemonic. Prompts the user to give the mnemonic.
    ./hmy keys recover-from-mnemonic <ACCOUNT_NAME>
    
    #8.  Import an existing keystore file
    ./hmy keys import-ks <PATH_TO_KEYSTORE_JSON>
    
    #9.  Import a keystore file using a secp256k1 private key
    ./hmy keys import-private-key <secp256k1_PRIVATE_KEY>
    
    #10. Export a keystore file's secp256k1 private key
    ./hmy keys export-private-key <ACCOUNT_ADDRESS> --passphrase
    
    #11. Generate a BLS key then encrypt and save the private key to the specified location.
    ./hmy keys generate-bls-key --bls-file-path <PATH_FOR_BLS_KEY_FILE>
    
    #12. Create a new validator with a list of BLS keys
    ./hmy --node=https://api.s0.os.hmny.io staking create-validator --amount 10 --validator-addr <SOME_ONE_ADDRESS> \
        --bls-pubkeys <BLS_KEY_1>,<BLS_KEY_2>,<BLS_KEY_3> \
        --identity foo --details bar --name baz --max-change-rate 0.1 --max-rate 0.1 --max-total-delegation 10 \
        --min-self-delegation 10 --rate 0.1 --security-contact Leo  --website harmony.one --passphrase
    
    #13. Edit an existing validator
    ./hmy --node="https://api.s0.t.hmny.io" staking edit-validator \
        --validator-addr <SOME_ONE_ADDRESS> --identity foo --details bar \
        --name baz --security-contact EK --website harmony.one \
        --min-self-delegation 0 --max-total-delegation 10 --rate 0.1\
        --add-bls-key <SOME_BLS_KEY> --remove-bls-key <OTHER_BLS_KEY> --passphrase
    
    #14. Delegate an amount to a validator
    ./hmy --node="https://api.s0.t.hmny.io" staking delegate \
        --delegator-addr <SOME_ONE_ADDRESS> --validator-addr <VALIDATOR_ONE_ADDRESS> \
        --amount 10 --passphrase
    
    #15. Undelegate to a validator
    ./hmy --node="https://api.s0.t.hmny.io" staking undelegate \
        --delegator-addr <SOME_ONE_ADDRESS> --validator-addr <VALIDATOR_ONE_ADDRESS> \
        --amount 10 --passphrase
    
    #16. Collect block rewards as a delegator
    ./hmy --node="https://api.s0.t.hmny.io" staking collect-rewards \
        --delegator-addr <SOME_ONE_ADDRESS> --passphrase
    
    #17. Check elected validators
    ./hmy --node="https://api.s0.t.hmny.io" blockchain validator elected
    
    #18. Get current staking utility metrics
    ./hmy --node="https://api.s0.t.hmny.io" blockchain utility-metrics
    
    #19. Check in-memory record of failed staking transactions
    ./hmy --node="https://api.s0.t.hmny.io" failures staking
    
    #20. Check which shard your BLS public key would be assigned to as a validator
    ./hmy --node="https://api.s0.t.hmny.io" utility shard-for-bls 2d61379e44a772e5757e27ee2b3874254f56073e6bd226eb8b160371cc3c18b8c4977bd3dcb71fd57dc62bf0e143fd08
    Click on the info circle next to "Multi-Coin Wallet"
  • The screen will show backup options, select "show recovery phrase"

  • Your mnemonic recovery phrase will show up, make sure to note them down accurately and securely

  • Open Math Wallet Chrome Extension

  • Click the + sign next to Harmony

  • Select "Import Wallet"

  • Select "Import by mnemonic"

  • Type in your mnemonic that you noted from Trust Wallet, and click next

  • Name your new imported wallet

  • Open "web wallet" from the extension and you can access all your funds in all shards

  • How to Restore a Multi-Coin Walletarrow-up-right
    How to Import a Walletarrow-up-right
    hashtag
    Fill the Endpoint Information

    You will be prompted for additional information. Use the table below to complete the step. Below you will see multiple options for RPC URL and Chain ID corresponding to mainnet vs testnet, and the various shards within each.

    circle-info

    Use the RPC URL and Chain ID of Shard 0 if you want to send/receive transactions from exchanges or do any staking transaction type.

    Field
    Mainnet
    Testnet
    Devnet

    Network Name

    Harmony Mainnet

    Harmony Testnet

    Harmony Devnet

    New RPC URL

    https://api.harmony.one

    https://s1.api.harmony.one

    https://api.s0.b.hmny.io

    https://api.s1.b.hmny.io

    https://api.s0.ps.hmny.io https://api.s1.ps.hmny.io

    Chain ID

    (use number only)

    The example below shows the configuration that needs to be done to connect to Harmony Mainnet on Shard 0:

    Click the Save button and your configuration should be done!

    circle-check

    if you have any issue fetching data like chain-id, try to type the new RPC URL instead copy pasting it.

    Documentation and FAQs arrow-up-right

    DaVinci social media: Telegramarrow-up-right, Twitterarrow-up-right, Discordarrow-up-right

    hashtag
    Atariarrow-up-right (Quidd)

    Atari, Quidd and Harmony have teamed up to offer this exclusive limited edition Atari Centipede NFTs.

    The Centipede series, created by the legendary Dona Bailey, carry a special spirit and set the industry standard for decades.

    hashtag
    Animoca Beast Questarrow-up-right

    Beast Quest, Animoca Brands and Harmony Protocol have teamed up for this exclusive offer! Buy limited edition chests containing gems, VIP points & NFT collectible cards. Collect a set to win Harmony ONE tokens!

    hashtag
    LMAarrow-up-right Art Gallery

    LMA is a marketplace for the trading of unique non-fungible tokens (NFTs) art cards on Harmony Network.

    Everyone can purchase the unique art cards, and become the owner of that specific art card. For each purchase the price will increase automatically 100% and can be immediately purchase from other person.

    See: documentationarrow-up-right, telegramarrow-up-right, videoarrow-up-right

    hashtag
    Sandbox

    Harmony and The Sandbox Partner to Enable Growth of Blockchain Gaming.

    We’re excited to announce a strategic partnership with one of blockchain gaming industry’s leading projects, The Sandboxarrow-up-right. At Harmony, we believe in empowering gamers through true digital ownership of their game assets and creating new economic incentives through play-to-earn business model. We want to support and facilitate The Sandbox’s team mission to offering a gaming virtual world where players can play, create, own, trade, govern and monetize their gaming experience through the use of blockchain technology, NFTs and their native utility token $SAND powering their platform.

    HRC721arrow-up-right
    HRC1155arrow-up-right
    https://davinci.gallery/arrow-up-right
    hashtag
    Sushiarrow-up-right

    Sushi and Harmony are coming together to deepen our partnership and launch a full suite of Sushi products on Harmony.

    Specifically:

    1. $2 million in liquidity mining rewards for Sushi on Harmony

    2. $2 million in rewards for Kashi borrowing/lending on Harmony

    3. Onsen ONE<>ETH Yield Farming Pair

    4. Sushi-specific hackathon challenges with $100,000 in prizes as part of our $1M hackathon

    hashtag
    MochiSwaparrow-up-right

    MochiSwap is a decentralized Multichain DEX DAO utilizing Harmony ONE, Binance Smart Chain along with a growing list of prospective Blockchains.

    MochiSwap is not chain centric, the principles stand with being Blockchain Agnostic and a core mission to bring DeFi and Decentralization to the entire world.

    Links: communityarrow-up-right, docsarrow-up-right, farmingarrow-up-right

    hashtag
    Unifi Protocolarrow-up-right

    Unifi Protocol is a group of non-custodial, interoperable, decentralized, and multi-chain smart contracts providing the building blocks for the next generation of DeFi development. Unifi provides a bridge to connect the existing economy of Ethereum-based DeFi products to growing DeFi markets on other blockchains.

    Links: communityarrow-up-right, mediumarrow-up-right, unifi reportarrow-up-right

    hashtag
    OpenSwaparrow-up-right

    OpenSwap is a Defi Protocol to Empower Ethereum Users With subtly low tx fees. Built on Harmony BlockChain.

    Links: communityarrow-up-right

    hashtag
    JellySwaparrow-up-right

    Platform for ONE token holders to convert their tokens into other crypto and fiat pairs with atomic swaps.

    Jelly Swap enables peer to peer trades across different blockchains. It is an automated cross-chain exchange and is decentralized, permissionless and open-source. Everyone can participate, provide liquidity, and execute swaps. It offers fiat/crypto on & off ramps and has a unique market making model.

    hashtag
    SeeSwaparrow-up-right

    Balancer is an asset management platform that acts as an automated portfolio manager, liquidity provider, and price sensor.

    Links: communityarrow-up-right, docsarrow-up-right

    hashtag
    SwapCatarrow-up-right

    SwapCat is a decentralized Multichain DEX utilizing Harmony ONE and most other EVM-blockchains.

    SwapCat allows feeless fixed-price direct wallet-to-wallet trading of HRC20 assets.

    Swaparrow-up-right
    Uniswaparrow-up-right
    ./1wallet scan
    ./1wallet make <recovery-address> <code>
    
    ./1wallet make one10jaac3q8qrd6fkun25t09q33tsrsz4uazctnj0 123456
    https://github.com/polymorpher/one-wallet/issuesarrow-up-right
    Gitcoinarrow-up-right
    SafePal Teaser.mp4Dropboxchevron-right

    FAQ

    hashtag
    What is LayerZero bridge?

    LayerZero is a cross-chain bridge that allows exchange of crypto assets (e.g., fungible/non-fungible tokens, stablecoins) between Ethereum or Binance Smart Chain and Harmony blockchains.

    The Bridge is used to migrate assets from one chain to another. If you have assets on Ethereum or Binance Smart Chain, you can use the bridge to move them to Harmony blockchain and get corresponding assets on Harmony. LayerZero also allows redemption of the exchanged assets back at any time.

    LayerZero Bridge is accessible here.arrow-up-right

    hashtag
    Is there a tutorial explaining how to use LayerZero?

    There is bridge process

    hashtag
    What account can I use to receive bridged tokens?

    You need to be able to open your wallet in the network you sent your tokens to. Check that there are no network restrictions that prevents you from it. Also check if there is no limitations on a token type you can receive. Never send tokens to an exchange account!

    hashtag
    Can I bridge tokens to the contract address?

    No, bridging to contract address directly is not supported. It might result in permanent loss of your tokens.

    hashtag
    What token will I get after bridging?

    Please refer to to find out.

    hashtag
    Bridge transfer completed but I can't see in metamask?

    You will need identify the contract address of the asset your just bridged looking at and add it into metamask

    hashtag
    What kind of assets can be bridged using LayerZero?

    Oracle 1LINK

    Natives

    • 1ONE (Wrapped ONE on Ethereum) - no redeploy required

    • bscONE (Wrapped ONE on BSC) - no redeploy required

    • ETH

    Stablecoins

    • 1USDC

    • 1USDT

    • 1DAI

    Partners

    • 1AAG - no token redeploy

    • 1FRAX

    • 1FXS

    You can find the list the bridged assets

    hashtag
    How are assets mapped between blockchains?

    Assets are mapped 1:1. For example, 10 BUSD on Ethereum after bridging will be available as 10 1BUSD on Harmony. Here, “1BUSD“ is the token symbol of the token on Harmony corresponding to “BUSD“ token symbol on Ethereum.

    Same 1:1 mapping holds true for Binance Smart Chain. However, the assets from two different parent chains (Ethereum or Binance Smart Chain) after bridging will be represented using different bridged assets on Harmony. For instance, 5 Binance Smart Chain BUSD after bridging will be available as 5 bscBUSD on Harmony. Here, “bscBUSD” is the token symbol of the token issued on Harmony corresponding to “BUSD” token symbol on Binance Smart Chain.

    And, the 1BUSD and bscBUSD on Harmony chain are not interchangeable, meaning one cannot bridge BUSD from Ethereum to Harmony and then withdraw it on Binance Smart Chain. Same for other tokens.

    hashtag
    Can I bridge as many tokens as I want, or is there a limit?

    There is no limit on the amount of tokens that can be bridged.

    hashtag
    Can I send my bridged tokens back?

    Yes: you can bridge tokens back and receive back the same amount of the original token there. For example, you bridged USDC from Ethereum to Harmony and got 1USDC token on Harmony. At any time you can bridge 1USDC back to Ethereum and receive USDC token.

    hashtag
    Can I send the Ethereum bridged tokens to Binance?

    No, Ethereum bridged tokens can only be sent back to Ethereum. Same applies for Binance bridged tokens.

    hashtag
    Can I send bridged tokens from Harmony blockchain to other blockchains or exchanges?

    No, do NOT send bridged tokens directly to other blockchains or exchanges. This will not work and might result in permanent loss of your tokens. Bridged tokens can only be used on Harmony network. The only way to send them out is bridging them back.

    hashtag
    Are bridged tokens transferable?

    Yes. You can transfer the bridged tokens to other users, and they can redeem them back to their Ethereum or Binance accounts. This is possible because when you lock your token, it gets pooled into a bridge smart contract from which any redeem request can be serviced without tying the locked tokens and redemption to a specific user account.

    hashtag
    What happens to my original tokens after I bridge them to Harmony?

    Once you use LayerZero to transfer your original tokens to Harmony, the original tokens get stored and locked in the LayerZero contracts: you do not own those tokens on Ethereum or Binance anymore. You receive the same amount of tokens on the Harmony blockchain.

    hashtag
    Does the token supply increase when using LayerZero?

    No: The supply of the original token never change as a result of using LayerZero: LayerZero bridge locks a certain amount of a token on Ethereum blockchain (essentially taking it out of circulation) and mints the exact same amount of tokens on the Harmony blockchain, that represents in all respects the original token (i.e. regenerating the locked supply). As a result, the circulating supply of the original token will stay the same: it's just split across two different blockchains instead of one.

    hashtag
    Which coins do I need to pay the transaction fees on the bridge?

    It depends on which blockchain you want transfer assets from. If it is from Harmony blockchain, you need ONE tokens, if it is from Ethereum you need ETH tokens, from Binance Smart Chain (BSC) BNB tokens and so on.

    hashtag
    What’s the cost of using the bridge?

    Cost of the bridge operation consists of the LayerZero bridge fee and costs of transactions. You'll see the page with the fee information that you need to confirm before the operation. Transaction fee depends on the chain gas prices and are confirmed in Metamask before the transaction. LayerZero fees are calculated dynamically based on Oracle and Relayer prices for the destination chain. They are transferred in the same transaction as the bridges amount. Fees are paid in native tokens of the first chain, so if you transfer any token from Ethereum, you pay fees by ETH token, ONE for Harmony and BNB for Binance.

    hashtag
    How to find out what's with my bridge operation?

    You can find the operation details on your operation page. It's the page you see when you perform the operation on Every bridge operation is associated with a unique operation id, which is shown on the page. You can find links to transactions of the operation steps and the status of each step. Also, you can always find your operation in the Use "My transaction" option to see only operations for your connected Metamsk account.

    hashtag
    Transaction pending for too long

    If your transaction is pending for too long, you can manage it via your wallet. We can’t make it faster or cancel it. If the transaction is on Harmony side, make sure you use for Harmony network.

    hashtag
    Operation in progress for too long

    Normally it takes less than 20 minutes per each step of the bridge operation. Delays are also possible, but they won't affect your funds. If your operation is in progress for more than an hour, you can fill in the and include you problem description. Note that your request will be ignored if you send it earlier.

    hashtag
    Operation status is success, but I can’t find my tokens

    Bridge does not swap tokens, it only provides wrapped tokens. For the token that you bridged, you have received wrapped token to your account. To find out which one, you can refer to .

    • Note that:

    • Bridge is not a swap, and you won't receive ONE if you weren't bridging ONE token.

    • A token address is never the same in the different networks, even when a symbol is the same.

    If you don't see that token in your account, and add it to your wallet to see the correct balance as shown If you have problems with finding or adding a token, please ask for help in community groups.

    • If you added a token and tokens aren’t shown, check that:

    • You added a token to the receiver wallet of your operation.

    • The receiver address of your operation is correct. If you found out that you made a mistake in the address, we can’t help you with that. You can reach your funds only if you have access to the wallet.

    If a correct balance isn’t shown after you added a token, and you have double-checked everything, fill in the and include you problem description. It’s required to include a token address you added and a wallet you added it to.

    hashtag
    Bridge error, funds lost

    Please fill in the and include you problem description.

    hashtag
    I can’t bridge because of an error

    There can be many possible causes. Sometimes the reason is clear from the error message (for example, low balance, not enough tokens to cover gas). Often there is a problem with the wallet connection. Try these steps to solve it:

    • Make sure your browser and the wallet extension are updated to the latest version

    • Make sure that your browser doesn’t block pop-up windows.

    • Try to clear the cache and relogin.

    If you’ve checked your settings, but you still have errors, please share your problem in the #support or #bridge channel.

    hashtag
    By mistake sent tokens to an exchange wallet (e.g. Binance exchange)

    Unfortunately, your tokens are permanently lost and not recoverable.

    hashtag
    I sent tokens to a wallet that doesn’t support the network I used

    If you can’t open your wallet in the network where your tokens were sent, we can’t assist. You can try to reach a support of the service that gave you this account.

    hashtag
    By mistake sent tokens to a wrong address or a token address

    Unfortunately, we can't help in such case. We don't have access needed to transfer tokens between accounts.

    hashtag
    I have a question about the LayerZero bridge

    You can address your question to Harmony community in Discord or Telegram. Please beware of scammers. Remember, admins never DM you first. Please refer to our first.

    Create or Import Wallet

    circle-info

    When we mention the binary, we are referencing the ./hmy binary from the setup procedure.

    When we mention the shell scripts, we are referencing the ./hmy.sh shell script from the setup procedure.

    hashtag
    New Wallet

    circle-info

    Creation of a new account is done as a function of a generated bip39 mnemonic with 256 bits of entropy. You must provide an account alias name.

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    circle-exclamation

    Write/store this seed phrase in a safe place. it is the only way to recover your account if you ever forget your password.

    This creates a keystore at the following directory:(hmy keys location)/account-name1/UTC--2019-09-16T21-25-35.297331000Z--678e7ea3dcb5f4e9724c0e761843572f10c49b73

    When creating keys this way, hmy will ask you to provide a passphrase.‌ Make sure you keep track of this passphrase for future use because the passphrase is used to decrypt the keystore when signing transactions. Also make sure you save the seed phrase, also called a mnemonic.

    circle-info

    If you don't provide a passphrase using the --passphrase flag, the default passphrase is an empty string "". The passphrase is used to decrypt the keystore when signing transactions.

    To know where your wallet file has been created, run the following command:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    You can check the list of wallets (local accounts) with the following command:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Import Wallet

    hashtag
    Importing a Keystore

    ‌You might have an existing keystore made by Harmony's old wallet.sh program that ends with ".key" in the file name (example):

    one16qsd5ant9v94jrs89mruzx62h7ekcfxmduh2rx.key

    Or that starts with "UTC" in the file name (example):

    UTC--2020-01-15T01-02-06.606670000Z--9689a0711642bf08ea92ed98d552f0c1b8c8cefb

    Both these files can be imported into hmy using the command import-ks as shown below.

    circle-exclamation

    Note that the --passphrase flag only enables a password prompt after the command is entered, there are no other arguments necessary here (if you dont put --passphrase flag in the command it will assume no password needed and will not prompt you for one, which basically means that your wallet keyfile will not be password protected!).

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Script:

    hashtag
    Examples:

    ‌Keep in mind that you should know the passphrase associated with the imported keystore and pass it as a parameter as shown in the commands above. For keystores created by Harmony's wallet.sh, the default passphrase is an empty string; this matters for signing transactions.‌

    hashtag
    Importing a Private Key

    Sometimes you might have a secp256k1 private key, such as the one generated from the following command:

    You can import the key with an optional name and passphrase

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Script:

    hashtag
    Example:

    If no account name is provided, a random word concatenated with -imported will be used. If no passphrase is provided, the default passphrase will be used (which is blank). Note that the CLI currently only supports importing secp256k1 private keys.

    hashtag
    Importing a Mnemonic Phrase

    You can recover lost wallet keys by entering the mnemonic words you received (and hopefully saved) when creating it:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Script:

    hashtag
    Example:

    Sushi

    How to Use Sushi on Harmony using the Harmony Bridge

    On June 24, 2021, we announced the Full-stack partnership that Sushi has with Harmonyarrow-up-right, including the $4M in incentives for liquidity mining, Kashi, and also the $1M hackathon focused on onboarding software engineers from traditional finance to DeFi. Today, we’ll show you how to participate in the upcoming liquidity mining event on Harmony.

    In this post, we’ll show you:

    1. How to add the Harmony Network to your metamask

    2. How to use the Harmony Bridge with Sushi

    3. How to Yield Farm Sushi on Harmony

    We’ve also included a simple infographic to use as a quick reference.

    How to Add the Harmony Network to your Metamask

    Step 1: Go to app.sushi.com

    Step 2: Connect your wallet

    Step 3: Click the button that says “Ethereum” in

    the top right-hand corner

    Step 4: Select the Harmony Network and if you don't see it, complete the steps below

    Step 5: Approve the switch in your wallet, and done!

    hashtag
    How to Use the Harmony Bridge with Sushi

    Follow the with using the sushi token

    hashtag
    How to Yield Farm Sushi on Harmony

    Step 1: Go to

    Step 2: Switch your network to Harmony

    Step 3: Click the Yield tab to check which farms are available on the Harmony network that you would like to join.

    Step 4: Click the Pool tab

    Step 5: Select the tokens for a valid token pair you wish to add liquidity to *Note, when adding liquidity to a pair, both sides of the pair need to have exact monetary value.

    For example: [$100 1USDC / $100 ONE], would be [100 USDC / 1525 ONE] at time of writing

    Step 6: Add the amount of tokens you wish to add to the pool of the first token. The Sushi platform will automatically add the equal monetary value of liquidity to the second asset, given there is sufficient balance

    Step 7: Approve Sushi to access your tokens from your wallet

    Step 8: Click Supply, then Confirm Supply in the popup

    Step 9: Approve the transaction and relevant fees from your wallet, you will now receive your liquidity pair or LP tokens

    Step 10: Once the transaction approves, click the Yield tab and click the yield farming pair you wish to join, you should see your Wallet Balance now displays your received LP tokens

    Step 11: Input the amount of LP tokens you wish to add to the farm or click MAX

    Step 12: Click Approve

    Step 13: Allow Sushi to spend your SLP tokens from your wallet

    Step 14: Click Deposit

    Step 15: Confirm the transaction and the relevant fees from your wallet

    If you have any questions or problems, you can always contact the Harmony team at . They have a super helpful and welcoming community and are happy to assist you.

    hashtag
    WONE Rewards

    The rewards for Sushi staking are in Wrapped ONEs on Harmony. Please add this contract address as a token to your Metamask:

    0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a

    You may use Sushi Swap itself to exchange between WONEs and ONEs.

    Exchanges

    hashtag
    Binancearrow-up-right

    Powerful crypto trading platform for those who mean business.

    hashtag

    Huobi is the safest platform that makes it easy to buy & sell cryptocurrencies.

    hashtag

    Gate.io is one of the global top 10 cryptocurrency exchanges with authentic trading volume.

    hashtag

    Buy, Sell & Trade Bitcoin, Ethereum, Ripple, Litecoin and more cryptocurrencies in India.

    hashtag

    Kucoin is the most advanced and secure cryptocurrency exchange to buy and sell Bitcoin, Ethereum, Litecoin, TRON, USDT, NEO, XRP, KCS, and more.

    hashtag

    Bitmax is a Global Digital Asset Trading Platform founded by Wall Street quant trading professionals.

    hashtag

    Exchange By the Community, For the Community.

    hashtag

    The most advanced cryptocurrency exchange to buy and sell crypto.

    hashtag

    CoinDCX is the first hybrid crypto exchange. It's an all inclusive cryptocurrency ecosystem that offers professional trading experience to all types of traders. Trade 100+ cryptocurrencies like BTC, ETH, XRP and ONE! CoinDCX now supports ONE/INR, ONE/BTC, & ONE/USDT.

    hashtag

    Bitrue is an exchange featuring token trading and lending, while aiming to enable access to fair financial services around the globe

    Harmony’s New TokenomicsMediumchevron-right
    2 Seconds Block Time on Harmony MainnetMediumchevron-right
    Commands:
      
    ./1wallet scan                            Build a new wallet and show its setup 
                                              QR code in terminal
    
    ./1wallet make <recovery-address> <code>  Deploy the wallet you just built to 
                                              blockchain and make it your "main" 
                                              wallet
    
    ./1wallet send <address> <amount> <code>  Send funds to another address
    
    ./1wallet main <wallet>                   Change "main" wallet
    
    ./1wallet list                            Show all wallets (address, name,
                                              balance)
    
    Options:
          --help      Show help                                           [boolean]
      -n, --network   The network you want to use. Can be mainnet, testnet, or any
                      valid URL                       [string] [default: "mainnet"]
      -r, --relayer   The relayer you want to use. Can be "beta" (hosted by ONE
                      Wallet) or any valid URL           [string] [default: "beta"]
      -p, --password  The password for accessing the Relayer. Default is
                      "onewallet" which is password for the "beta" relayer hosted
                      by ONE Wallet.                [string] [default: "onewallet"]
      -w, --wallet    The wallet you are going to use for transfer funds. By
                      default, the main wallet is used, which is the last wallet
                      you created                                          [string]
      -s, --store     Path of which your wallet data is stored. By default the data
                      is stored in a subdirectory "wallets" where this command line
                      tool is executed.               [string] [default: "wallets"]
          --version   Show version number                                 [boolean]
    ./hmy keys add <account-name> [--passphrase]
    ./hmy.sh -- keys add <account-name1> [--passphrase]
    ./hmy keys add test-account --passphrase
    ./hmy keys location
    ./hmy.sh -- keys location
    ./hmy keys list
    ./hmy.sh -- keys list
    ./hmy keys import-ks <absolute_path_to_keystore> --passphrase
    ./hmy.sh -- keys import-ks <absolute_path_to_keystore> --passphrase
    ./hmy keys import-ks /home/harmony/one16qsd5ant9v94jrs89mruzx62h7ekcfxmduh2rx.key --passphrase
    ./hmy keys import-ks /home/harmony/UTC--2020-01-15T01-02-06.606670000Z--9689a0711642bf08ea92ed98d552f0c1b8c8cefb --passphrase
    openssl ecparam -genkey -name secp256k1 -text -noout -outform DER | xxd -p -c 1000 | sed 's/41534e31204f49443a20736563703235366b310a30740201010420/PrivKey: /' | sed 's/a00706052b8104000aa144034200/\'$'\nPubKey: /'
    ./hmy keys import-private-key <secp256k1_private_key> [wallet_name] [--passphrase]
    ./hmy.sh -- keys import-private-key <secp256k1_private_key> [wallet_name] [--passphrase]
    ./hmy keys import-private-key b8798ca0a56ce16517ea37c6b1229cbb67cf0e022c423b044fe8f537830d8be5 my_wallet_name_here --passphrase
    ./hmy keys recover-from-mnemonic [wallet_name]
    ./hmy.sh -- keys recover-from-mnemonic [wallet_name]
    ./hmy keys recover-from-mnemonic nameofyourkey
    1ETH
  • bscONE (Wrapped ONE on BSC) - no redeploy required

  • BNB

  • bscBNB (Wrapped BnB on Harmony)

  • 1WBTC

  • 1BUSD
  • bscBUSD

  • 1SUSHI
  • xSUSHI

  • 1AAVE

  • The receiver wallet is connected to the correct network. For example, if you bridged tokens to Harmony, you need to be connected to Harmony mainnet.

  • You’ve added a token that you really received. Check the transaction data.

  • Tokens haven’t been transferred after the bridge.

  • Check if your wallet is set up correctly.
  • Try using another browser or/and wallet extension.

  • If you use a mobile version, try it on the desktop.

  • step-by-step explanation
    this page
    https://bridge.harmony.one/tokensarrow-up-right
    herearrow-up-right
    the LayerZero bridge site. arrow-up-right
    bridge operation explorer.arrow-up-right
    recommended settings arrow-up-right
    support form arrow-up-right
    this page
    here.arrow-up-right
    support formarrow-up-right
    support formarrow-up-right
    Discordarrow-up-right
    FAQ arrow-up-right

    Shard 0: 1666600000

    Shard 1: 1666600001

    Shard 0: 1666700000 Shard 1: 1666700001

    Shard 0: 1666900000 Shard 1: 1666900001

    Currency symbol (optional)

    ONE

    ONE

    ONE

    Block Explorer URL (optional)

    bridge tutorialarrow-up-right
    app.sushi.comarrow-up-right
    harmony.one/telegramarrow-up-right
    Huobiarrow-up-right
    Gatearrow-up-right
    WazirXarrow-up-right
    Kucoinarrow-up-right
    Bitmaxarrow-up-right
    ViteXarrow-up-right
    HitBTCarrow-up-right
    CoinDCXarrow-up-right
    Bitruearrow-up-right
    Harmony’s Strategy and ArchitectureMediumchevron-right
    https://crypto.com/appcrypto.comchevron-right
    here arrow-up-right
    Logo
    https://explorer.harmony.one/arrow-up-right
    https://explorer.testnet.harmony.one/arrow-up-right
    https://explorer.ps.hmny.ioarrow-up-right

    Sending Transactions

    Perhaps the most important feature of the hmy CLI is the ability to create and send signed transactions to the Harmony blockchain.

    hashtag
    Overview

    hashtag
    Sending a transaction

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    hashtag
    Checking the transaction hash

    Check for finality of the transaction by using the transaction hash like so:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    hashtag
    Detail

    hashtag
    ChainIDs

    Let's first check what chain-ids are available for us to use, we can do that easily with:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    Notice that the output is pretty printed JSON, most outputs of hmy are JSON encoded and hmy defaults to showing it nicely indented. Sometimes though you might want to turn that off, you can do that for any command with the flag --no-pretty.

    By default, hmy assumes the testnet chain-id; override that with the --chain-id flag

    hashtag
    Our first transaction

    We'll use the transfer subcommand of hmy to send a transaction.

    Notice that simply invoking the transfer subcommand gave us an error message about certain flags not being set. We'll need to provide legitimate values for these flags for our transaction to proceed successfully. Reading off the flags in the error message from left to right, the semantic meanings are as follows:

    • amount: The quantity of Harmony One token to transfer from the senders to the receiver

    • from: The sender's one address

    • from-shard

    A sharded blockchain is a new kind of blockchain architecture where the network is partitioned into sub-networks called shards. Sharding is one of the distinguishing features of Harmony and it is key to solving the traditional scalability problems encountered in other blockchain protocols.

    Note: The same ONE address will have a different balance in each shard. Currently Harmony mainnet has four shards while testnet has three shards. Sending a transaction from one shard to another is called a "cross-shard transaction."

    Thus, a correct usage of transfer looks like:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    circle-info

    hmy assumes that the private keys needed for signing the transaction on behalf of the sender (one1yc06ghr2p8xnl2380kpfayweguuhxdtupkhqzw in this example) exist in the local keystore or in the hardware wallet if the --ledger flag was used.

    circle-info

    The sender's account must have enough of a balance on the from-shard to send a transaction. In our example,one1yc06ghr2p8xnl2380kpfayweguuhxdtupkhqzw must have an amount balance of at least 10 in shard 0.

    Try out your transaction with the flag --dry-run, this flag tells hmy to create, cryptographically sign the transaction but not actually send it off. Sender's balances are checked and the output is a JSON dump of the signed transaction.

    Signing and sending a transaction is very quick, about 2 seconds maximum. The actual sending of the transaction is done via an RPC (Remote Procedure Call), you'll notice that we did not explicitly say where to send the transaction to. This is because the default destination of the RPC call goes to http://localhost:9500, the default HTTP RPC server running when you start a local harmony blockchain. For real world usage though, you'll want a different location. You can control that with the --node flag (see the top of this page for an example).

    hashtag
    Result of the transaction

    Once an RPC machine receives a transaction, it sends you back a transaction hash. This transaction hash is the key identifier used when querying the blockchain for transactions.

    circle-exclamation

    Simply having a transaction hash does NOT imply that the transaction was successfully accepted by the blockchain. A transaction is successfully accepted once it has been added to the blockchain. In the case of cross-shard transactions (when the from-shard, to-shard values are different), this means each shard has added the transaction to their blockchain.

    We can pull down details of the finalized transaction with ./hmy blockchain transaction-receipt as well:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    circle-info

    If the transaction has not finalized then the "result" key in the JSON output will have value of null.

    circle-exclamation

    You should set the value of --node to the same shard that sent the transaction, notice that the URL we used, https://api.s0.t.hmny.io contained s0, this means that this URL is targeting shard 0. For further information, see .

    You can tell hmy to wait until transaction confirmation by providing a positive integer value to flag --wait-for-confirm. For example, --wait-for-confirm=10 will try checking the receipt of the transaction for 10 seconds.

    CoinDCX: Crypto Investment App | Trusted by 1.4 Cr+ UsersCoinDCXchevron-right
    Buy Bitcoin, Cryptocurrency at India’s Largest Exchange | Trading Platform | WazirXwazirXindiachevron-right
    @BinanceUS | Buy & Sell Crypto.@BinanceUSchevron-right
    The Way of Harmony DAOsMediumchevron-right
    Harmony Integrates Chainlink and Announces Grants for Chainlink-based Apps Built on HarmonyMediumchevron-right
    Magic SDK Now Supports Harmony ProtocolMediumchevron-right
    Harmony Completes Mainnet Integration With Band Protocol and Announce Strategic PartnershipMediumchevron-right
    Harmony and Gitcoin: Partnering to Grow the Future of Web3 TogetherMediumchevron-right
    Logo
    Logo
    : Shard from which sender's balance will be drawn from
  • to: Receiver's ONE address

  • to-shard: Shard in which receiver will receive the amount sent by the sender

  • passphrase: your wallet passphrase, which is prompted when you hit enter (or you can use a txt file with password and add it: --passphrase file.txt)

  • Querying the Blockchain
    ./hmy transfer --node="<endpoint-address>" \
     --from <ONE_address> --to <ONE_address> \
     --from-shard <shard> --to-shard <shard> \
     --amount <amount> --chain-id <chain-id> --passphrase
    ./hmy.sh -- transfer --node="<endpoint-address>" \
     --from <ONE_address> --to <ONE_address> \
     --from-shard <shard> --to-shard <shard> \
     --amount <amount> --chain-id <chain-id> --passphrase
    ./hmy --node="https://api.s0.t.hmny.io" \
     transfer --from one1yc06ghr2p8xnl2380kpfayweguuhxdtupkhqzw \
     --to one1q6gkzcap0uruuu8r6sldxuu47pd4ww9w9t7tg6 \    
     --from-shard 0 --to-shard 1 --amount 12.5 --chain-id mainnet --passphrase mypassword
    ./hmy blockchain transaction-receipt <transaction_id> --node="<endpoint-address>"
    ./hmy.sh -- blockchain transaction-receipt <transaction_id> --node="<endpoint-address>"
    ./hmy --node="https://api.s0.t.hmny.io" \
     blockchain transaction-receipt \
     0x599793f313ee17566f8d09728b9d043b8e26135ddce86beeee13f98767d452f7
    ./hmy blockchain known-chains
    ./hmy.sh -- blockchain known-chains
    ./hmy blockchain known-chains
    
    [
      "mainnet",
      "testnet",
      "devnet"
    ]
    ./hmy transfer
    Error: required flag(s) "amount", "from", "from-shard", "to", "to-shard" not set
    ./hmy transfer --node="<endpoint-address>" \
     --from <ONE_address> --to <ONE_address> \
     --from-shard <shard> --to-shard <shard> \
     --amount <amount> --chain-id <chain-id> --passphrase
    ./hmy.sh -- transfer --node="<endpoint-address>" \
     --from <ONE_address> --to <ONE_address> \
     --from-shard <shard> --to-shard <shard> \
     --amount <amount> --chain-id <chain-id> --passphrase
    ./hmy transfer --node="https://api.s0.t.hmny.io" \
     --from one1yc06ghr2p8xnl2380kpfayweguuhxdtupkhqzw \
     --to one1q6gkzcap0uruuu8r6sldxuu47pd4ww9w9t7tg6 \
     --from-shard 0 --to-shard 1 --amount 10 --chain-id mainnet
    {"transaction-receipt":"0x455f98a3aa11ef50ee5cc5ac8bbd79e04f2fe353180bb7e25fc6c921fc8fdc83"}
    ./hmy blockchain transaction-receipt --node="<endpoint-address>" <transaction-hash>
    ./hmy.sh -- blockchain transaction-receipt --node="<endpoint-address>" <transaction-hash>
    ./hmy blockchain transaction-receipt \
        --node="https://api.s0.t.hmny.io" \
        0x25dd32397b5a69146b2dc3bbdc8ef8aae271e9b12a36c6dff1eb8995cac9dcba
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0x67eb5d671af76814d9ab326f9ec36c5b889b872e0c34e8cbe484aea20f0611ea",
        "blockNumber": "0x21017f",
        "contractAddress": null,
        "cumulativeGasUsed": "0x5208",
        "from": "one1sp4q22r7cc78742mzrufu6xwcekqxjgq78jk3m",
        "gasUsed": "0x5208",
        "logs": [],
        "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "shardID": 0,
        "status": "0x1",
        "to": "one129r9pj3sk0re76f7zs3qz92rggmdgjhtwge62k",
        "transactionHash": "0x25dd32397b5a69146b2dc3bbdc8ef8aae271e9b12a36c6dff1eb8995cac9dcba",
        "transactionIndex": "0x0"
      }
    }
    Insights on integrating the Rosetta API developed by CoinbaseMediumchevron-right
    https://twitter.com/RampNetwork/status/1410644146444963840?s=20twitter.comchevron-right
    https://medium.com/harmony-one/harmony-partners-with-simplex-allowing-users-to-buy-one-tokens-with-fiat-b74885d13dadmedium.comchevron-right
    Logo
    Logo

    Querying the Blockchain

    hmy provides several subcommands under the blockchain subcommand which let you query the blockchain.

    circle-info

    The Harmony blockchain is a sharded blockchain, therefore some commands depend on which shard you target. The shard you target when querying is controlled by the --node flag. For example, if a transaction is made between shard 0 and shard 1, the transaction receipt must be queried from whichever shard sent the funds - in this case shard 0, so the --node flag would look like this:

    For other shards, please replace the s0 with the appropriate shard number - eg. s1 for shard 1, s2 for shard 2 etc.

    hashtag
    List of available commands

    By using ./hmy blockchain help command we can see that the following options are available:

    circle-info
    • block-by-number - get a harmony blockchain block by block number

    • current-nonce - current nonce of an account delegation information about delegations

    Here are some examples of the above commands that you will use frequently:

    hashtag
    transaction-by-hash

    Checking the hash of your transaction to see the transaction data and if the transaction has been completed

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    hashtag
    transaction-receipt

    Get information about a finalized transaction:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    hashtag
    latest-header command

    Checking the network status, last block, epoch, leaders, based on the shard number:

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    hashtag
    block-by-number

    circle-info

    Note the block-number provided must be in hex with a 0x prefix.

    For example if you call latest-header and get a result of 10657 you convert this to hex which is 29A1 and then use the value 0x29A1 for block-number. This can be done using

    printf '0x%x\n' 10617 #0X29a1

    hashtag
    Using the Binary:

    hashtag
    Using the Shell Wrapper:

    hashtag
    Example:

    Sushi and Harmony Announce Full Stack Partnership with $4M in IncentivesMediumchevron-right
    --node="https://api.s0.t.hmny.io"
    Logo

    known-chains - print out the known chain-ids

  • latest-header - get the latest header

  • median-stake - median stake of top 320 validators with delegations applied stake (pre-epos processing)

  • protocol-version - the version of the Harmony Protocol

  • transaction-by-hash - get transaction by hash

  • transaction-receipt - get information about a finalized transaction validator information about validators

  • pool - get transaction pool information

  • ./hmy blockchain transaction-by-hash <transaction-hash> --node="<endpoint-address>"
    ./hmy.sh -- blockchain transaction-by-hash <transaction-hash> --node="<endpoint-address>"
    ./hmy blockchain transaction-by-hash 0x75d91100734edcd1497200cb438f0864d2ed4a44a88bf8c87855cb2b3cc54001 --node="https://api.s0.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0xf9c7e165d5636c7dd8a06bf2c53c364d7597028d7e10a3c5256462adf97b1f73",
        "blockNumber": "0xa35",
        "from": "one1mrrq665uarrmfur6hptevx9furph4293a37zme",
        "gas": "0x5208",
        "gasPrice": "0x3b9aca00",
        "hash": "0x75d91100734edcd1497200cb438f0864d2ed4a44a88bf8c87855cb2b3cc54001",
        "input": "0x",
        "nonce": "0xe",
        "r": "0x4a17d89f7b1818fe72d480a64fecfede1d73bd7242fcaabf907204a7022be806",
        "s": "0x557be1b9c378ecbae972e71ec6fc5d484abfe8cb7961ccd87724865c3a7020bc",
        "shardID": 0,
        "timestamp": "0x5e1cfcc1",
        "to": "one1mrrq665uarrmfur6hptevx9furph4293a37zme",
        "toShardID": 1,
        "transactionIndex": "0x0",
        "v": "0x2a",
        "value": "0xde0b6b3a7640000"
      }
    }
    ./hmy blockchain transaction-receipt <transaction-hash> --node="<endpoint-address>"
    ./hmy.sh -- blockchain transaction-receipt <transaction-hash> --node="<endpoint-address>"
    ./hmy blockchain transaction-receipt 0x599793f313ee17566f8d09728b9d043b8e26135ddce86beeee13f98767d452f7 --node="https://api.s0.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0x52171a8f3af94f639f1e6044679c4189c3cd088ffe7f1c216ce3089212373af9",
        "blockNumber": "0x6177",
        "contractAddress": null,
        "cumulativeGasUsed": "0x5208",
        "from": "0x261fa45c6a09cd3faa277d829e91d9473973357c",
        "gasUsed": "0x5208",
        "logs": [],
        "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "shardID": 0,
        "status": "0x1",
        "to": "0x06916163a17f07ce70e3d43ed37395f05b5738ae",
        "transactionHash": "0x599793f313ee17566f8d09728b9d043b8e26135ddce86beeee13f98767d452f7",
        "transactionIndex": "0x0"
      }
    }
    ./hmy blockchain latest-header --node="<endpoint-address>"
    ./hmy.sh -- blockchain latest-header --node="<endpoint-address>"
    ./hmy blockchain latest-header --node="https://api.s0.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0xae23db112d22062be6a0f065ecc3989d4e9559ad6a1f34fe4344d021907e8c2e",
        "blockNumber": 415749,
        "epoch": 5543,
        "lastCommitBitmap": "fffffffffffffffb0f00",
        "lastCommitSig": "06efa677bdd327d3d9602fd246c214edb35e447692dccc2219ef08ce2fa026b96f3826fcb5a2a3f724222ecef4af66029f3b5d677e54534519ad2a405ad3b336dd5145dcc083fc2330b9d0bb398affd1745cab274b5019f32cba0287bd5e5a17",
        "leader": "one18ahxsrk9g4h4gz5r8ema7nyw6g9zpun5hhp54d",
        "shardID": 0,
        "timestamp": "2019-12-11 12:18:21 +0000 UTC",
        "unixtime": 1576066701,
        "viewID": 415745
      }
    }
    ./hmy blockchain latest-header --node="https://api.s1.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0x65d528672301b1c086b4f2db89ce20f6977f7aeaa494073352e211ac29f55179",
        "blockNumber": 456065,
        "epoch": 5543,
        "lastCommitBitmap": "ffffffffffffffff0f00",
        "lastCommitSig": "c8e049810c1f649625259f684e99f4a9cfc51cf01b2dd032f884136c9922ebb8fe0929e366bbf8122e430402d04d4804362013302994d4924c2990bdffeacb4b79e075c1897947a7ec5be44eef6f1bd1e013b80008f28085c15e17aa49629a09",
        "leader": "one1vaqzxt50ltk9hq4d44lgxmj4pj2x533fsp2acx",
        "shardID": 1,
        "timestamp": "2019-12-11 12:21:52 +0000 UTC",
        "unixtime": 1576066912,
        "viewID": 456065
      }
    }
    ./hmy blockchain latest-header --node="https://api.s2.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0xd5775e720a9bcc5a88fd13aac27d72365f4724d6a513ecf39af53c1bb826823d",
        "blockNumber": 453475,
        "epoch": 5543,
        "lastCommitBitmap": "ffffffffffffffff0f4000",
        "lastCommitSig": "701bad22a95b7ee937446c3f614755d1729f19b5976f1230af6de65fd7ecc0d8b95795396a55d78994b5a8ecaed77d028721f76a58e9919ab01f4aba36a6f3a3dda3aaf39b313e5d623e73ca83d71fc1631ae964e1747826662652be85fada18",
        "leader": "one18vn4hpu8jpu8p9pql59m7p0x8dqrpsw0jzav9u",
        "shardID": 2,
        "timestamp": "2019-12-11 12:22:26 +0000 UTC",
        "unixtime": 1576066946,
        "viewID": 453508
      }
    }
    ./hmy blockchain latest-header --node="https://api.s3.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "blockHash": "0xd5775e720a9bcc5a88fd13aac27d72365f4724d6a513ecf39af53c1bb826823d",
        "blockNumber": 453475,
        "epoch": 5543,
        "lastCommitBitmap": "ffffffffffffffff0f4000",
        "lastCommitSig": "701bad22a95b7ee937446c3f614755d1729f19b5976f1230af6de65fd7ecc0d8b95795396a55d78994b5a8ecaed77d028721f76a58e9919ab01f4aba36a6f3a3dda3aaf39b313e5d623e73ca83d71fc1631ae964e1747826662652be85fada18",
        "leader": "one188345hbsgdsgstw6eenjgxsgusgs",
        "shardID": 2,
        "timestamp": "2019-12-11 12:22:26 +0000 UTC",
        "unixtime": 1576066946,
        "viewID": 453508
      }
    }
    ./hmy blockchain block-by-number <block-number> --node="<endpoint-address>"
    ./hmy.sh -- blockchain block-by-number <block-number> --node="<endpoint-address>"
    ./hmy blockchain block-by-number 0x29A1 --node="https://api.s0.t.hmny.io"
    
    {
      "id": "0",
      "jsonrpc": "2.0",
      "result": {
        "difficulty": 0,
        "extraData": "0x",
        "gasLimit": "0x4c4b400",
        "gasUsed": "0x0",
        "hash": "0x5cb6e0752530cef5e25c52539feca22b8ad197cca60c04cf06f4ee05d6537096",
        "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "miner": "0x3f6e680ec5456f540a833e77df4c8ed20a20f274",
        "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "nonce": 0,
        "number": "0x29a1",
        "parentHash": "0x30d28fb69701f8348e0cd6a7abbacceb4286009fc43827dc243e79508da057d7",
        "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
        "size": "0x50c",
        "stakingTransactions": [],
        "stateRoot": "0x096fac171e818e54e611d3543fd43b1929a4468d17dcb8766d18eaf1e426749c",
        "timestamp": "0x5e755a56",
        "transactions": [],
        "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
        "uncles": []
      }
    }
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo
    Logo
    Harmony Safeharmonyprotocolchevron-right
    Logo