From e4800a997b610c7932c4ffdd3fc4ff1884361e0d Mon Sep 17 00:00:00 2001 From: ligi Date: Wed, 11 Jan 2023 12:29:20 +0100 Subject: [PATCH 01/10] Add BlockExplorer-routes CAIP --- CAIPs/caip-X.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 CAIPs/caip-X.md diff --git a/CAIPs/caip-X.md b/CAIPs/caip-X.md new file mode 100644 index 00000000..26c9ae21 --- /dev/null +++ b/CAIPs/caip-X.md @@ -0,0 +1,52 @@ +-- +caip: +title: BlockExplorer API Routes +author: Pedro Gomes (@pedrouid), ligi (@ligi) +discussions-to: https://github.com/ChainAgnostic/CAIPs/discussions/199 +status: Draft +type: Standard +created: 2023-1-11 +--- + +## Simple Summary + +Standard API Routes for Blockchain explorers + +## Abstract + +This CAIP standardizes the routes for addesses and transactions between BlockExplorers. + +## Motivation + +For the Ethereum ecosystem Pedro Gomez already created EIP-3091 and it already helped getting explorers to use the same routes. Ligi was verifying compatibility in ethereum-lists/chains often. And noticed that only addresses and transactions are really meaningfully used - and tokens/blocks where causing work verifying and failing verifications while not really being used. Also some L2s go away from the concept of blocks. +This is a CAIP with minimal routes that are used most of the time. If other routes are used in the future other CAIPs can inherit from this one and extend it. This way we can also differentiate between CAIPs with different feature-sets. + +## Specification + +Block explorers will route their webpages accordingly for the following data: + +### Blocks + +`/block/` + +### Transactions + +`/tx/` + +### Addresses + +`/address/` + +## Backwards Compatibility + +This EIP was designed with existing API routes in mind to reduce disruption. Incompatible block explorers should include either 301 redirects to their existing API routes to match this EIP. +Explorers compatible with EIP-3091 are automatically comatible with this CAIP. + +## Links + +- [EIP-3091](https://eips.ethereum.org/EIPS/eip-3091) + +## Copyright + +Copyright and related rights waived +via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). \ No newline at end of file From 88a74c3a772c29e33282b37f989fed5f74d04698 Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 9 Feb 2023 14:49:11 +0100 Subject: [PATCH 02/10] Update CAIPs/caip-X.md Co-authored-by: Bumblefudge --- CAIPs/caip-X.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CAIPs/caip-X.md b/CAIPs/caip-X.md index 26c9ae21..b6c210ed 100644 --- a/CAIPs/caip-X.md +++ b/CAIPs/caip-X.md @@ -40,7 +40,7 @@ Block explorers will route their webpages accordingly for the following data: ## Backwards Compatibility This EIP was designed with existing API routes in mind to reduce disruption. Incompatible block explorers should include either 301 redirects to their existing API routes to match this EIP. -Explorers compatible with EIP-3091 are automatically comatible with this CAIP. +Explorers compatible with EIP-3091 are automatically compatible with this CAIP. ## Links From aa513787b8c54c339b3f168abceb9cf5e551a7c7 Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 9 Feb 2023 14:53:47 +0100 Subject: [PATCH 03/10] Update CAIPs/caip-X.md --- CAIPs/caip-X.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CAIPs/caip-X.md b/CAIPs/caip-X.md index b6c210ed..2425d655 100644 --- a/CAIPs/caip-X.md +++ b/CAIPs/caip-X.md @@ -1,5 +1,5 @@ -- -caip: +caip: 200 title: BlockExplorer API Routes author: Pedro Gomes (@pedrouid), ligi (@ligi) discussions-to: https://github.com/ChainAgnostic/CAIPs/discussions/199 From 28e628819eb055b83d792daa40575c2891857ee0 Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 9 Feb 2023 14:54:28 +0100 Subject: [PATCH 04/10] Update CAIPs/caip-X.md --- CAIPs/caip-X.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CAIPs/caip-X.md b/CAIPs/caip-X.md index 2425d655..34303694 100644 --- a/CAIPs/caip-X.md +++ b/CAIPs/caip-X.md @@ -39,7 +39,7 @@ Block explorers will route their webpages accordingly for the following data: ## Backwards Compatibility -This EIP was designed with existing API routes in mind to reduce disruption. Incompatible block explorers should include either 301 redirects to their existing API routes to match this EIP. +This CAIP was designed with existing API routes in mind to reduce disruption. Incompatible block explorers should include redirects to their existing API routes to match this EIP. Explorers compatible with EIP-3091 are automatically compatible with this CAIP. ## Links From 1e7a7c21f2897abe57d096705d629b689ea8736e Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 9 Feb 2023 14:59:04 +0100 Subject: [PATCH 05/10] Rename caip-X.md to caip-200.md --- CAIPs/{caip-X.md => caip-200.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename CAIPs/{caip-X.md => caip-200.md} (96%) diff --git a/CAIPs/caip-X.md b/CAIPs/caip-200.md similarity index 96% rename from CAIPs/caip-X.md rename to CAIPs/caip-200.md index 34303694..783c15e2 100644 --- a/CAIPs/caip-X.md +++ b/CAIPs/caip-200.md @@ -49,4 +49,4 @@ Explorers compatible with EIP-3091 are automatically compatible with this CAIP. ## Copyright Copyright and related rights waived -via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). \ No newline at end of file +via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From 00502b90dd267022824d6781bed29e60c6c65ee5 Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 9 Feb 2023 17:48:52 +0100 Subject: [PATCH 06/10] Update CAIPs/caip-200.md --- CAIPs/caip-200.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CAIPs/caip-200.md b/CAIPs/caip-200.md index 783c15e2..fe6aa5e7 100644 --- a/CAIPs/caip-200.md +++ b/CAIPs/caip-200.md @@ -25,10 +25,6 @@ This is a CAIP with minimal routes that are used most of the time. If other rout Block explorers will route their webpages accordingly for the following data: -### Blocks - -`/block/` - ### Transactions `/tx/` From 889cab14e7e1a9d962ecf77bc03e7092aab82005 Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 9 Feb 2023 17:49:06 +0100 Subject: [PATCH 07/10] Update CAIPs/caip-200.md --- CAIPs/caip-200.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CAIPs/caip-200.md b/CAIPs/caip-200.md index fe6aa5e7..738cc18b 100644 --- a/CAIPs/caip-200.md +++ b/CAIPs/caip-200.md @@ -31,7 +31,7 @@ Block explorers will route their webpages accordingly for the following data: ### Addresses -`/address/` +`/address/` ## Backwards Compatibility From f65c48f599916e34935ce9a3e27873d5f35315d4 Mon Sep 17 00:00:00 2001 From: bumblefudge Date: Fri, 10 Mar 2023 22:26:03 +0100 Subject: [PATCH 08/10] editorial cleanup --- CAIPs/caip-200.md | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/CAIPs/caip-200.md b/CAIPs/caip-200.md index 738cc18b..b44a9b1f 100644 --- a/CAIPs/caip-200.md +++ b/CAIPs/caip-200.md @@ -18,29 +18,55 @@ This CAIP standardizes the routes for addesses and transactions between BlockExp ## Motivation -For the Ethereum ecosystem Pedro Gomez already created EIP-3091 and it already helped getting explorers to use the same routes. Ligi was verifying compatibility in ethereum-lists/chains often. And noticed that only addresses and transactions are really meaningfully used - and tokens/blocks where causing work verifying and failing verifications while not really being used. Also some L2s go away from the concept of blocks. -This is a CAIP with minimal routes that are used most of the time. If other routes are used in the future other CAIPs can inherit from this one and extend it. This way we can also differentiate between CAIPs with different feature-sets. +For the Ethereum ecosystem, Pedro Gomez already created [EIP-3091][] and it has +already helped harmonize block explorers' usage of uniform routes. In the +process of verifying compatibility and conformance for new entries in +[ethereum-lists/chains][], Ligi noticed that only addresses and transactions are +really meaningfully used; tokens and blocks have not been as effectively +harmonized, and divergent syntax for those routes caused some block explorers to +fail verifications. Also, the evolution of L2s has seen many drift away from the +concept of blocks, making uniform syntax increasingly difficult. + +For these reasons, this CAIP requires minimal routes that are used most of the +time with the least divergence across L1s and L2s' data structures. Other +routes, or alternate syntaxes that can redirect to these, can be specified in +separate future CAIPs extending this one. This creates a more composable and +piecemeal conformance since many use cases need only these routes. ## Specification -Block explorers will route their webpages accordingly for the following data: +Block explorers will route their webpages accordingly for the following syntax: ### Transactions `/tx/` +Note: transactions should be addressed here natively, i.e. in the native, +internal syntax of the relevant namespace, rather than universally. + ### Addresses `/address/` +Note: actor addresses should be addressed here natively, i.e. in the native, +internal syntax of the relevant namespace, rather than in CAIP-10 URN syntax or +any other multi-chain standard. + ## Backwards Compatibility -This CAIP was designed with existing API routes in mind to reduce disruption. Incompatible block explorers should include redirects to their existing API routes to match this EIP. -Explorers compatible with EIP-3091 are automatically compatible with this CAIP. +This CAIP was designed with existing API routes in mind to reduce disruption. +Incompatible block explorers can come into conformance by programming redirects +from their existing API routes to the syntax outlined in this EIP, or supporting +both; they are not considered conformant if the syntax above redirects to any +other route. Explorers that conform to [EIP-3091][] are automatically conformant +with this CAIP. ## Links -- [EIP-3091](https://eips.ethereum.org/EIPS/eip-3091) +- [EIP-3091][] - EVM-wide standard for block explorer addressing syntax + +[EIP-3091]: https://eips.ethereum.org/EIPS/eip-3091 +[ethereum-lists/chains]: https://github.com/ethereum-lists/chains ## Copyright From a169bf587ac1429bf02d5668be44053a54f4d2f8 Mon Sep 17 00:00:00 2001 From: Bumblefudge Date: Fri, 17 Mar 2023 10:22:25 -0700 Subject: [PATCH 09/10] remove qualification of meaningful use Co-authored-by: ligi --- CAIPs/caip-200.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CAIPs/caip-200.md b/CAIPs/caip-200.md index b44a9b1f..89ee77ac 100644 --- a/CAIPs/caip-200.md +++ b/CAIPs/caip-200.md @@ -22,9 +22,7 @@ For the Ethereum ecosystem, Pedro Gomez already created [EIP-3091][] and it has already helped harmonize block explorers' usage of uniform routes. In the process of verifying compatibility and conformance for new entries in [ethereum-lists/chains][], Ligi noticed that only addresses and transactions are -really meaningfully used; tokens and blocks have not been as effectively -harmonized, and divergent syntax for those routes caused some block explorers to -fail verifications. Also, the evolution of L2s has seen many drift away from the +really meaningfully used. Also, the evolution of L2s has seen many drift away from the concept of blocks, making uniform syntax increasingly difficult. For these reasons, this CAIP requires minimal routes that are used most of the From 60b358dfba3ffebe9061477756b1dc9d9c8e8c4a Mon Sep 17 00:00:00 2001 From: ligi Date: Thu, 27 Apr 2023 16:42:22 +0200 Subject: [PATCH 10/10] Update CAIPs/caip-200.md --- CAIPs/caip-200.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CAIPs/caip-200.md b/CAIPs/caip-200.md index 89ee77ac..7141e50f 100644 --- a/CAIPs/caip-200.md +++ b/CAIPs/caip-200.md @@ -63,8 +63,8 @@ with this CAIP. - [EIP-3091][] - EVM-wide standard for block explorer addressing syntax -[EIP-3091]: https://eips.ethereum.org/EIPS/eip-3091 -[ethereum-lists/chains]: https://github.com/ethereum-lists/chains + - [EIP-3091]: https://eips.ethereum.org/EIPS/eip-3091 + - [ethereum-lists/chains]: https://github.com/ethereum-lists/chains ## Copyright