Hedera Namespace - Chains
Author | Danno Ferrin |
---|---|
Discussions-To | https://github.com/hashgraph/hedera-improvement-proposal/discussions/169 |
Status | Draft |
Type | Standard |
Created | 2021-11-01 |
Updated | 2022-03-27 |
Requires | CAIP-2 |
Withdrawal reason | CAIP-75 |
Table of Contents
CAIP-2
For context, see the CAIP-2 specification.
Rationale
The reference relies on Hedera’s current network topology addresses being a single production network (mainnet), two persistent testing networks (testnet and previewnet) and one refers to local development work (devnet). The identification and resolution of each network is hard-coded into the various Hedera SDKs at time of press.
Blockchains in the ‘hedera’ namespace are referenced by name as the number of total hedera blockchains should be very small: one mainnet and two testnets at present. Various governance mechanisms in the Hedera governance structure work to ensure that small number.
Syntax
Reference should only be populated with one of the following enumerated strings:
mainnet
,testnet
,previewnet
, anddevnet
A regular expression for validating the above or any other theoretically possible Hedera network identifier string (that fits under the CAIP-20 limit of 32 characters) can be defined as:
hedera:[-a-zA-Z0-9]{5,32}
Resolution Method
There is no in-protocol resolution method at present. The particular network configurations defined in the various SDKs set the networks up for mainnet, testnet, and previewnet.
To validate a connection to a specific network, specific account checksums defined in HIP-15 can be used.
Backwards Compatibility
Not applicable
Test Cases
This is a list of manually composed examples
# Hedera mainnet
hedera:mainnet
# Hedera testnet
hedera:testnet
# Hedera previewnet
hedera:previewnet
Additional Considerations
Rejected Idea: Using the ethereum blockchain namespace
One possibility for blockchain identifier is to use the eip155
namespace and
have the networks be represented as eip155:295
, eip155:296
, eip:297
and eip:298
for Mainnet, Testnet, Previewnet, and devnet. The EIP155 number
would be derived by the EVM CHAINID
operation.
Using this identifier, however, would misrepresent the level of compatibility between Hedera and Ethereum chains. While Hedera does provide an EVM execution environment that is where the compatibility ends. First, Hedera uses the Edwards 25519 curve, and does not use the chain identifier as part of the signature ( which is the express purpose of EIP-155). Neither does it expose Ethereum standard JSON-RPC apis at this time.
References
- HIP-30 - CAIP Identifiers for the Hedera Network
- Hedera Developer Documentation
Copyright
Copyright and related rights waived via CC0.**
Citation
Please cite this document as:
Danno Ferrin, "namespaces/hedera-caip2: Hedera Namespace - Chains [DRAFT]," Chain Agnostic Namespaces, hedera-caip2, November 2021 / March 2022. [Online serial]. Available: https://github.com/ChainAgnostic/namespaces/hedera-caip2.md