Giter Club home page Giter Club logo

hedera-docs's Introduction

cover coverY layout
.gitbook/assets/HH-Eco-Hero-Desktop-R1.webp
-16.77342463378693
cover title description tableOfContents outline pagination
visible size
true
full
visible
true
visible
visible
true
visible
true
visible
true

Welcome to Hedera — let’s build the future

Are you ready to build the unimaginable on Hedera? Join the Hello Future Hackathon!

{% embed url="https://www.canva.com/design/DAGJ9iE_WrU/ZFU25tkqBDsvnfRu-k4Fmw/view" fullWidth="false" %}

LEARN THE BASICS#learn-the-basics
ENVIRONMENT SETUP#set-up-your-environment
START BUILDING#build-your-first-decentralized-application-dapp
NETWORK SERVICES#hedera-network-services
EVM-COMPATIBLE TOOLS#evm-compatible-tools
TOOLS & INTEGRATIONS#developer-tools-and-integrations
HEDERA ROADMAPhttps://hedera.com/roadmap
CONTRIBUTING GUIDEcontributing-guide.md

Learn the Basics

Start your journey with the public Hedera network by learning the basics — from understanding the network’s architecture to who’s building next-generation applications, you’ll have a proper foundation to start building.

Hedera ExplainedUnderstand the basics of Hedera network node types, developer services & API, governance, $HBAR, and more by reading this introduction to Hedera.https://hedera.com/learning/hedera-hashgraph/what-is-hedera-hashgraphlanding-hedera-explained-icon.png
How It WorksHedera is an open-source, public, proof-of-stake network. Hedera network services offer low & fixed fees,10k TPS, and instant transaction finality.https://hedera.com/how-it-workswhy hedera.png
Core ConceptsDive into the technical core concepts of Hedera. Learn everything from how accounts are created to scheduling transactions and querying on-ledger data.core-conceptscore concepts.png
Hedera EcosystemFrom permissionless web3 startups and NFT projects to Fortune 500 companies, take a look into who’s choosing Hedera to build their next-generation application.https://hedera.com/ecosystemcase-studies-icon.png

Set Up Your Environment

Start developing on the Hedera network today by following the step-by-step guide, which will provide you with everything you need to understand the essentials and start building web3 applications. Alternatively, you can start building with an end-to-end video tutorial.

{% tabs %} {% tab title="Step-by-Step Guide" %}

1. Testnet AccessCreate your developer profile on the portal to get your testnet account ID, keys, and test HBAR.introduction.mdtestnet access (1) (1).png
2. Environment SetupChoose an SDK and set up your development environment. Write code in Javascript, Java, or Go.environment-set-up.mdenvironment setup (1).png
3. Create an AccountGenerate keys & learn how to create an account on the Hedera Testnet using the SDK — you’ll submit a transaction, receive an account ID and learn how to check your balance.create-an-account.mdcreate-an-account-icon.png
4. Transfer HBARSend a balance transfer transaction by transferring HBAR from your account to another on Hedera Testnet. You'll create and verify a transfer transaction and learn how to get the account balance.transfer-hbar.mdtransfer hbar.png
{% endtab %}

{% tab title="Video Tutorial" %} {% embed url="https://youtu.be/Skx6b8uK9ks" %} Start Developing on Hedera
by Developer Advocate: Michiel Mulders {% endembed %} {% endtab %} {% endtabs %}

Build Your First Decentralized Application (DApp)

Learn how to use Hedera network services and build your first dApp by following these step-by-step tutorials.

Create & Deploy a Smart ContractCreate a Solidity Smart Contract that interacts with the Hedera Token Service, bringing full programmability into your token-based application.deploy-a-contract-using-the-hedera-token-service.mdcreate & deploy a smart contract.png
Create Fungible TokensService to create fungible tokens that map to ERC-20 standards and scale to 10,000+ TPS.create-and-transfer-your-first-fungible-token.mdfungible-tokens-icon.png
Create Non-Fungible TokensUse the Hedera Token Service to create non-fungible tokens that map to ERC-721 standards and scale to 10,000+ TPS.create-and-transfer-your-first-nft.mdnon-fungible-tokens-icon.png
Write Verifiable Data to HederaUse the Hedera Consensus Service as a decentralized message bus to write immutable, verifiable, and consensus timestamped data at 10k+ TPS and $0.0001 per message.submit-your-first-message.mdwrite verifiable data.png

Hedera Network Services

Learn about the suite of network services offered on Hedera and how each can be used to build decentralized applications.

Smart ContractsAn EVM-based smart contract service. Build and deploy contracts using Solidity or port over an existing smart contract with ease.smart-contractssmart contracts.png
Token ServiceConfigure, mint, and manage native fungible and non-fungible tokens or using ERC-20 & 721 standards on the Hedera network.token-servicetoken-service-icon.png
Consensus ServiceIncorporate scalable, real-time, auditable logs of events with consensus timestamps into any web2 or permissionless web3 application.consensus-serviceconsensus-service-icon.png
File ServiceHedera File Service is a decentralized file storage platform that allows users to securely store and access files on a distributed network of computers using hash as a file identifier.readme-1-1file-service-icon.png

EVM-Compatible Tools

Continue utilizing familiar Ethereum development tools such as Web3.js, Truffle, Ethers, Hardhat, and Foundry to build on Hedera using the JSON-RPC Relay. As an Ethereum developer, your workflow does not have to change.

Create an ECDSA AccountCreate an ECDSA account that works with JSON-RPC to use EVM-compatible tooling, libraries, and wallets.https://github.com/hashgraph/hedera-json-rpc-relay/blob/main/docs/examples/account-alias-ecdsa.jscreate ECDSA account.png
Set Up MetamaskAdd a Hedera network to Metamask using the Hashio implementation of the JSON-RPC Relay. Sign transactions and queries to test your Hedera-powered application.https://github.com/hashgraph/hedera-json-rpc-relay/blob/main/docs/transfer-guide.mdsetup metamask.png
Libraries & ToolingIntegrate Hedera into Ethers, web3.js, Truffle, or Hardhat for building, debugging, and deploying your smart contract applications on the Hedera network.https://github.com/hashgraph/hedera-json-rpc-relay/tree/main/toolslibraries & tooling.png
JSON-RPC RelayJSON-RPC makes it easy for existing EVM-based libraries, dev tools, and wallets to work effortlessly on Hedera. Hashio is a free implementation of the relay, offered by Swirlds Labs.https://github.com/hashgraph/hedera-json-rpc-relayJSON-RPC relay.png

Developer Tools and Integrations

Explore various developer tools and resources on Hedera that help make building and maintaining your decentralized application even easier.

Network ExplorersVisualizations & APIs for historical network data, including account & token details, transactions, tokens, contracts, topics, and schedules.community-mirror-nodes.mdlanding-icon-network-explorers.png
Wallet IntegrationsOnboard users into your application with ease. Wallets on Hedera offer transaction signing, management of HBAR, NFTs, and fungible tokens.#ecosystem-wallet-supportwallet integrations.png
Network BridgeHashPort is a public utility that facilitates the bi-directional movement of digital assets between public networks in a quick, secure, and cost-effective way.https://www.hashport.network/network bridge (1).png
Monitoring & SecurityUse Open Zeppelin’s Defender Admin, Relay, and Sentinels for administrative, security, and monitoring functionality for Smart Contracts on Hedera.https://www.openzeppelin.com/defendermonitor & security.png
Local NodeLearn how to set up your own Hedera local network, including consensus & mirror nodes, using Docker.https://hedera.com/blog/how-to-set-up-your-own-hedera-local-network-using-dockerlocal node (1).png

Have a question? Ask it on StackOverflow.

hedera-docs's People

Contributors

a-ma-n avatar a-ridley avatar bguiz avatar bwnyasse avatar cisc0f-swirlds-labs avatar cooper-kunz avatar dalvizu avatar dp-h avatar elijahlynn avatar jeromek13 avatar jnkn6 avatar justynspooner avatar mgarbs avatar michielmulders avatar milanwr avatar neurone avatar nickpoorman avatar owans avatar pana87 avatar popowycz avatar rustyshacklefurd avatar saadjhk avatar sarjuhansaliya avatar satwikkansal avatar si618 avatar simi-hedera avatar simihunjan avatar swirlds-matt avatar theekrystallee avatar tolorukooba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hedera-docs's Issues

Add troubleshooting steps to all network response codes

Problem

It would be helpful to developers to provide a set of instructions on how to troubleshoot the network response code.

Solution

Add trouble shooting steps the network response codes.

Alternatives

No response

Tasks

Consolidate API documentation

Problem

Between the rest API, HAPI, and SDK documentation there is a lot of overlap/duplicate information. Consolidate these docs to have a single view of the APIs by task.

Solution

Consolidate these docs to have a single view of the APIs by task.

Alternatives

No response

Enable PR GitBook previews

Problem

When PRs are submitted you can't view a preview of the content that will be modified.

Solution

GitBook has a feature to enable previews on PRs. Enable this feature.

Alternatives

No response

Tasks

Separate the feedback page from the main page

Problem

Separate the feedback page from the main page. There is more information to add.

Solution

Add information about how to contribute to docs or make feature requests.

Alternatives

No response

Adding info to avoid confusion on allowance limits

Problem

In the doc page for allowances (https://docs.hedera.com/guides/docs/sdks/cryptocurrency/approve-an-allowance), we have:
"Each account is limited to 100 allowances."

This actually confused various users in the ecosystem and made them think that this limitation was similar to the initial token association limit we used to have.

Solution

It is the approver account (ie the current token owner) has the 100 approval limitation.
It's NOT a limitation of the account receiving the approvals (ie Marketplace account).

We should write:
"Each owner account is limited to granting 100 allowances."

Alternatives

No response

Documenting that mirror nodes do not support use in a browser environment

Problem

According to the teams response in the following issue, mirror nodes do not support use in a browser environment.
hashgraph/hedera-sdk-js#1114

#1114 was reported by a Swirlds Labs user, but a Discord user also reported running into this limitation.

Solution

It may be worth adding a sentence or two in the documentation to include info on this limitation. Perhaps here (i think?):
https://docs.hedera.com/guides/docs/mirror-node-api/hedera-consensus-service-api-1

Alternatives

No response

Nuxt-based HCS Chat

Problem

I made a clone of the HCS express chat program that's built on NuxtJS. It also offers two advantages over the starter one: it uses promises instead of sleep statements, and uses json strings over strings demarcated by the Saturn symbol.

Can it be added to the starter projects list for Javascript?

Check it out here: https://github.com/scalemaildev/hashgraph_nuxt_chat

Solution

N/A

Alternatives

No response

Youtube video not available

The video link in the readme file is broken. It say "video not available" when I click on it. Might be set to private, not public.

Add a deprecation section

Problem

v1 SDKs are no longer supported. The documentation for v1 docs should be removed from the main page to a deprecation section in the docs.

Solution

Create a deprecation section to host documentation that is no longer supported.

Alternatives

No response

Best ReFi & Sustainability Project on Hedera

Description

The HBAR Foundation is proud to support the Sustainable Blockchain Virtual Hackathon organized by IPFS and Filecoin June 23 - July 18, 2022!

Prize Bounty

$10,000 USD in HBAR for the best ReFi & Sustainability Project on Hedera

  • The bounty will be paid out in HBAR, so be sure to create a valid HBAR address to include with your bounty submission.

Challenge Description

We're looking for the best implementation on Hedera in Sustainability & ReFi! This can include:

  • Tokenizing environmental/sustainability assets such as emissions, offsets, or RECs
  • Creating infrastructure, tooling (ex. Explorers), or primitives that support Hedera's sustainability ecosystem
  • Building Methodologies or Environmental tools leveraging the Guardian for the next generation of auditable reporting
  • Creating new economic infrastructure to fund Guardian based projects

About Hedera & the HBAR Foundation

Hedera Hashgraph is a fully open source, proof-of-stake, public network and governing body for building and deploying decentralized applications. It offers developers three primary services: Solidity-based smart contracts, consensus, and token services. Hedera is unique in that it is incredibly fast, energy-efficient (carbon negative), and secure.

The HBAR Foundation Sustainable Impact Fund (SIF) has been established as the first fund of its type in the industry to help do our part in solving the climate crisis and address these challenges on Hedera.

The SIF supports projects through funding, support, and by raising awareness of projects that measurably change how the world works in a specific and attainable way across Environmental, Nature-based, and UN Sustainable Development Goal focused projects to facilitate systemic change for the planet.

Hacking With Hedera & THF

To learn how to get started in developing on Hedera check out the getting started on Hedera page and how to guide.

For those interested in tokenizing carbon credits, building new methodologies or dMRV (digital measurement, reporting, and verification) policies check out the Guardian Demo Guide. For those interested we also have a discord, with a channel dedicated to sustainability support.

Update mirror node rest API section to use the OpenAPI widget

Problem

Manually adding the rest API docs can cause for outdated information in the docs. GitBook has a widget that allows you to use the spec URL that will automatically keep it up to date with any changes made.

Solution

Update the mirror node APIs to use the OpenAPI spec

Alternatives

No response

Remove documentation for deprecated GET contract query parameter

Description

On the Mirror Node docs, it lists an accepted query parameter of contractId for the /api/v1/contracts endpoint, but a request to that endpoint returns a 400:

$ curl https://testnet.mirrornode.hedera.com/api/v1/contracts?contractId=0.0.34730039
{"_status":{"messages":[{"message":"Invalid parameter: contractid"}]}}

It seems like this endpoint is deprecated in favor of GET /api/v1/contracts/{contractId}

$ curl https://testnet.mirrornode.hedera.com/api/v1/contracts/0.0.34730039
{
  "admin_key":null,
  "auto_renew_account":null,
  "auto_renew_period":7776000,
  "contract_id":"0.0.34730039",
  ...
}

Steps to reproduce

$ curl https://testnet.mirrornode.hedera.com/api/v1/contracts?contractId=0.0.34730039
{"_status":{"messages":[{"message":"Invalid parameter: contractid"}]}}

Additional context

No response

Hedera network

testnet

Version

Operating system

No response

Include information about the impact of adding keys on transaction fees - e.g: token create with multiple signing keys

Problem

This issue was reported from a user who experienced higher-than-expected network fees when creating and minting NFTs.

Solution

The user suggested updating the information in docs, and according to him, "designers do not look at pricing calculator when making design decisions." - Looks like they're more likely to be looking at documentation to guide those decisions.

The user suggests: include a clause which indicates that "adding a supply key would impact your network charges (see pricing calculator - link)" It would be good to add a standard text for all other keys that impact costs, not just supply key.

Alternatives

No response

Itemized release notes

Problem

Update the release notes format to consume what happened in an easy way.

Solution

see above

Alternatives

No response

Move v1 SDK docs to the deprecation section

Problem

v1 SDKS are no longer supported and should be removed from the SDK section to a section for deprecations.

Solution

Move v1 docs to the deprecation section

Alternatives

No response

The try examples sections needs to be updated to include all steps

Problem

The try examples section in docs goal was to show the main transactions or queries that were related to using the feature in a handful of steps. The intent was to not include the setting up the env steps, creating relavent accounts, etc as the getting started section covers how to do this. This is causing more confusion than being helpful.

Solution

Update the try examples steps to include any necessary accounts or tokens that are needed for the example.

Alternatives

No response

Adding limits on the number of child txs a parent tx can have and example

Problem

Received feedback from a user about parent/child txs.

  • We should document the max number of child txs a parent can have
  • We should add a doc example for parent/child txs

Solution

For the first point:
A parent tx supports up to 999 child transactions since platform reserves 1000 ns per user submitted transaction. The nonce is the nanosecond offset from the parent consensus timestamp. But I wouldn't rely on that relationship of timestamp offset to nonce since it might change. Always use the consensus timestamps and transaction IDs w/ nonce in the records.

For the second point:
The feature doesn't actually work, so we need this issue resolved: hashgraph/hedera-sdk-js#1186

Alternatives

No response

Update HAPI section to use the auto generated documentation for protobuf APIs

Problem

This section is manually update every release and has the possibility to be out of date. GitHub creates automated documentation each time the protobufs are updated that should stay up to date.

Solution

Update the HAPI section with the link to the auto-generated protobuf API docs https://hashgraph.github.io/hedera-protobufs/.

Alternatives

No response

Tasks

For smart contracts need to document limitation of fallback() / receive () functions not executing when contract receives HBAR via crypto transfer

Description

For smart contracts, we need to document a limitation of fallback() / receive() functions that has been reported via Discord by a power user in the DeFi space. The limitation is that fallback() / receive() functions in a contract do not execute when the contract receives HBAR via crypto transfer. The hbar arrives fine but the msg.sender and msg.value remain null, that's all due to those functions not getting triggered.

Michael T has been involved in chat responses with this user and is aware of the limitation.

Steps to reproduce

  1. Send HBAR to a contract via crypto transfer
  2. See HBAR arrive but fallback() function does not execute code within it

Additional context

No response

Hedera network

testnet

Version

v0.26

Operating system

Windows

Remove duplicate URL in Smart Contracts

Description

The URL for smart contracts renders twice, suggesting the endpoint is:

/api/v1/contracts/api/v1/contracts

When the endpoint is actually:

/api/v1/contracts

It appears this is because the baseUrl has a value in this case in the Swagger where it is set to an empty string for other endpoints.

Steps to reproduce

See:
Screen Shot 2022-05-16 at 4 21 29 PM

Additional context

No response

Hedera network

mainnet, testnet, previewnet

Version

Operating system

No response

Improve mirror node information flow

Problem

The mirror node information needs to be included where relavent in the docs. The mirror node content needs to be reviewed for accuracy.

Solution

Update mirror node documentation

Alternatives

No response

Add information for contracts holding hbar/tokens

Problem

Docs do not have clear content around the ability for contracts to hold HBAR and/or HTS tokens and any associated requirements for that (like keys, signing, etc)

Solution

Add info

Alternatives

No response

Enhance core concepts

Problem

Reimagine the core concepts section in a way that captures the Hedera ecosystem. Much of the information is isolated or duplicated in other areas of the docs.

  • Text heavy descriptions will benefit from including graphics and visuals
    • We can reuse visuals from videos already available
    • Sections that can benefit from visuals/labels:
      • Scheduled Transactions
      • Gossip about gossip + Virtual voting Leemon's video
    • We can reuse visuals from presentations as we create them going forward. Ed and Waylon to provide those
    • Or if visuals are made by Doc, then Dev Evangelists will use them in customer-visible presentations for consistency

Solution

Update core concepts to reflect the system.

Alternatives

No response

Querying by transaction type NODESTAKEUPDATE throws error

Description

In the swagger documentation, adding the transactiontype parameter NODESTAKEUPDATE throws a 400 error stating

{
  "_status": {
    "messages": [
      {
        "message": "Invalid parameter: transactiontype"
      }
    ]
  }
}

Steps to reproduce

  1. Open testnet swagger docs
  2. Go to transactions endpoint
  3. Select NODESTAKEUPDATE in transactiontype query dropdown
  4. Execute

Additional context

Uploading Screen Shot 2022-07-19 at 6.23.25 PM.png…

Hedera network

testnet

Version

v0.60.0

Operating system

macOS

remove / before console.clear()

Description

This is just a small issue in the documentation , and since it is of environment setup its more problematic for beginners

Steps to reproduce

.

Additional context

No response

Hedera network

testnet

Version

v0.1.0

Operating system

macOS

Hint typos

saw a couple of these:
{% hint style="info" %} Hedera Token Service is now live on our networks. Learn more in the blog series, Get started with the Hedera Token Service. Hedera Token Service API information can be found in the SDK section here. {% endhint %}

Horizontal scrolling in docs page reduces readability

Description

Because of the doc design with three columns, we often are not afforded a great amount of space in the middle content column. This can have the unfortunate side effect of reducing readability. For example, see this page.

We are reserving a large amount of space on the page for the right column, but that column is not pulling its weight. Perhaps we should consider a design variation where the table of contents is displayed within the main page, rather than having ~25% of the horizontal screen real estate reserved for it?

Steps to reproduce

As above.

Additional context

No response

Hedera network

other

Version

N/A

Operating system

No response

Change solidity code for 'deploy a contract using HTS' tutorial page

Problem

In the 'Deploy a Contract Using the Hedera Token Service' tutorial page here: https://docs.hedera.com/guides/getting-started/try-examples/deploy-a-contract-using-the-hedera-token-service, there's a variable switch in step 1.

In HTS.sol there's this function:

function tokenTransfer(address tokenId, address fromAccountId , address toAccountId , int64 tokenAmount) external {
        int response = HederaTokenService.transferToken(tokenId, toAccountId, fromAccountId, tokenAmount);

        if (response != HederaResponseCodes.SUCCESS) {
            revert ("Transfer Failed");
        }
    }

Solution

The tokenTransfer function should be:

function tokenTransfer(address tokenId, address fromAccountId , address toAccountId , int64 tokenAmount) external {
        int response = HederaTokenService.transferToken(tokenId, fromAccountId, toAccountId, tokenAmount);

        if (response != HederaResponseCodes.SUCCESS) {
            revert ("Transfer Failed");
        }
    }

as docs are saying here: https://docs.hedera.com/guides/docs/sdks/smart-contracts/hedera-service-solidity-libraries#transfertoken-token-sender-receiver-amount

Alternatives

No response

Add token metadata standards to create token docs

Problem

Currently, when reading the documentation, it is unclear that there are existing standards (namely HIP-405, & HIP-412) for token metadata. It actually even references ethereum standards, but not the Hedera community's own (via smart contracts). This leads projects to either recreate the wheel in attempting to define their own token metadata, or create assets who's metadata are not compatible with other applications/wallets/etc., within the ecosystem.

Solution

I think it would be nice to update this page (&/or potentially others) with reference to these token metadata standards

https://docs.hedera.com/guides/docs/sdks/tokens/define-a-token

Screen Shot 2022-07-14 at 6 58 02 PM

Alternatives

Alternatively (&/or additionally) I think it could be nice to build in better support for these standards within the official SDKs.

Broken links to example contracts related to HIP 218

Add information about the new endpoint (/api/v1/accounts/{accountId}/nfts) added in v0.52

Problem

in v0.52 of the Mirror Node, we added the endpoint /api/v1/accounts/{accountId}/nfts.

This endpoint is not yet documented in https://docs.hedera.com/guides/docs/mirror-node-api/rest-api#accounts-1

Solution

@SimiHunjan, a user flagged on Discord that we should add information about the new /api/v1/accounts/{accountId}/nfts endpoint in https://docs.hedera.com/guides/docs/mirror-node-api/rest-api#accounts-1

Alternatives

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.