You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: eip155/caip10.md
+39-9Lines changed: 39 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -21,13 +21,33 @@ While Ethereum "accounts" were the unstated norm in the definition of
21
21
[CAIP-10][], there are still some particularities of the syntax that should be
22
22
specified for the unfamiliar.
23
23
24
+
### Special case of EOA
25
+
26
+
To express Ethereum account without reference to any specific [EIP-155][] chain ID, CAIP-10 identifiers can use the special `chainId` segment `0`.
27
+
28
+
In the Ethereum account system, "externally owned accounts" (i.e. "offchain" wallets) are controlled by user agents and not by on-chain entities (i.e. deployed or deployable smart contract code).
29
+
The special chainId `0` SHOULD only be used for accounts that can be used in off-chain contexts, i.e. without the use of an Ethereum node.
30
+
31
+
Note that a given address cannot be assumed to work on all current and future networks with an [EIP-155][]`chainId`, which may express or derive addresses differently for a given private key; a user account expressed with `chainId` segment of 0 is assumed to control the same account on `chainId` 1 and most ethereum chains, but MAY control a different account or additional accounts on networks that extend the account or addressing model of Ethereum, assume different key or hash derivations, etc.
32
+
24
33
## Syntax
25
34
26
35
Ethereum addresses were, historically, case-insensitive and normalized to use
27
36
all-lowercase letters (`abcdef`) like most hexadecimal numeric types. With the
28
-
ratification of [EIP55][], however, a particular normalization of lowercase- and
37
+
ratification of [EIP-55][], however, a particular normalization of lowercase- and
29
38
uppercase- `abcdefABCDEF` characters was invented as an efficient form of
30
-
checksum. See [EIP55][] for specification.
39
+
checksum. See [EIP-55][] for specification.
40
+
41
+
The chain ID will be used to represent blockchain except special case of 0 as chainID to represent EOA.
42
+
43
+
The `chain_id` string will be ammended as follows:
As the Ethereum namespace evolved, user-agents that connect to dapps through an [EIP-1193][] interface started to accrue "off-chain" use-cases such as authenticating control of an onchain account with an "off-chain" signature (i.e. a transaction signed by the wallet and verified by a dapp or website without either party submitting it to a node or running any on-chain functions). It is RECOMMENDED that wallets using the chainId of `0` be authenticated in a standardized and secure manner which produces verifiable receipts of the authenticaiton event, such as that documented in [ERC-4361][] and extended by [CAIP-122][].
85
+
59
86
## References
60
87
61
-
-[EIP155][]: Ethereum Improvement Proposal specifying generation and validation of ChainIDs
88
+
-[EIP-155][]: Ethereum Improvement Proposal specifying generation and validation of ChainIDs
62
89
-[ethereum-lists/chains][]: An open registry for eip155 network operators to claim a
63
90
unique chainID and self-publish RPC/node information for them.
0 commit comments