Documentation

Deprecation of Hethers.js by October 20, 2023

As we continue to evolve and improve the Hedera ecosystem, we are committed to ensuring that our developer tools and resources remain easy to use and up-to-date. With this goal in mind, the Hethers.js library will be deprecated by October 20, 2023.

🚨 The documentation site will be taken offline on January 31, 2024.

What is hethers?

Hethers is a complete and compact library for interacting with the Hedera Hashgraph and more specifically the Smart Contract Service. It is a fork of The Ethers Project and implements the same program interface as ethers.js with some minor changes.

Features

  • Keep your private keys in your client, safe and sound

  • Import and export JSON wallets

  • Import and export BIP 39 mnemonic phrases (12-word backup phrases) and HD Wallets (English as well as Czech, French, Italian, Japanese, Korean, Simplified Chinese, Spanish, Traditional Chinese)

  • Meta-classes create JavaScript objects from any contract ABI, including ABIv2 and Human-Readable ABI

  • Connect to the Hedera Network over both Consensus and Mirror nodes.

  • Modular packages; include only what you need

  • Extensive documentation

  • Large collection of test cases which are maintained and added to

  • Fully TypeScript ready, with definition files and full TypeScript source

  • MIT License (including ALL dependencies); completely open-source to do with as you please

Migration from other EVM based chains

This document covers the features present in the ethers library, which has changed in some important way in the hethers library.

General / Conceptual changes

  • Two endpoints (APIs) are utilised by the provider instance -> Hedera Consensus Nodes & Hedera Mirror Nodes.

  • Gas estimates are not supported as of now. You must provide the gas limit manually. More information on gas limits can be found here.

  • Gas Price is not specified by clients. The Hedera network computes the necessary gasPrice during transaction execution. More info here.

  • Static calls are executed against Hedera Consensus Nodes and are paid, thus must be signed by an already existing Account. static calls create ContractLocalCall transactions.

  • Account creation happens on-chain. You cannot create a random hedera account by generating a pub key. Accounts must be explicitly created or implicitly using HIP-32.

  • All address properties are replaced with accountLike properties to support both Hedera like accounts (shard.realm.num) and native EVM addresses.

  • The transaction identifier is not transactionHash but transactionId, thus every function using transactionHash is replaced with transactionId

  • There is no concept of blocks, thus block related queries for filters/events or provider polling is replaced with timestamp based.

Developer Documentation

Documentation Getting Started Application Programming Interface Providers Provider Accounts Methods Logs Methods Network Status Methods Transactions Methods Event Emitter Methods Base Provider Types Signers Contract Interaction Contract ContractFactory Example: ERC-20 Contract Utilities Accounts Addresses Application Binary Interface AbiCoder ABI Formats Fragmets Interface BigNumber Byte Manipulation Constants Display Logic and Input Encoding Utilities FixedNumber Hashing Algorithms HD Wallet Logging Property Utilities Signing Key Strings Transactions Web Utilities Wordlists Contributing Other Resources

Last updated