diff options
| author | Xavier Damman <xdamman@gmail.com> | 2025-04-02 15:09:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-02 10:09:54 -0300 |
| commit | 67145a72b25c7db33592705c744d70ae8685e5a3 (patch) | |
| tree | bd57e29f83c68cb1f373e901f820f2ff49a362a5 /73.md | |
| parent | 9821b0e999be6d8093691fdadc34f94fd1a12a9a (diff) | |
added blockchain transactions and addresses to NIP-73 (#1846)
Diffstat (limited to '73.md')
| -rw-r--r-- | 73.md | 82 |
1 files changed, 70 insertions, 12 deletions
| @@ -13,29 +13,87 @@ There are certain established global content identifiers such as [Book ISBNs](ht | |||
| 13 | 13 | ||
| 14 | ## Supported IDs | 14 | ## Supported IDs |
| 15 | 15 | ||
| 16 | | Type | `i` tag | `k` tag | | 16 | | Type | `i` tag | `k` tag | |
| 17 | | --- | --- | --- | | 17 | | --- | --- | --- | |
| 18 | | URLs | "`<URL, normalized, no fragment>`" | "web" | | 18 | | Blockchain Transaction | "`<blockchain>`:[`<chainId>`:]tx:`<txid, hex, lowercase>`" | "`<blockchain>`:tx" | |
| 19 | | Hashtags | "#`<topic, lowercase>`" | "#" | | 19 | | Blockchain Address | "`<blockchain>`:[`<chainId>`:]address:`<address>`" | "`<blockchain>`:address" | |
| 20 | | Geohashes | "geo:`<geohash, lowercase>`" | "geo" | | 20 | | Books | "isbn:`<id, without hyphens>`" | "isbn" | |
| 21 | | Books | "isbn:`<id, without hyphens>`" | "isbn" | | 21 | | Geohashes | "geo:`<geohash, lowercase>`" | "geo" | |
| 22 | | Podcast Feeds | "podcast:guid:`<guid>`" | "podcast:guid" | | 22 | | Hashtags | "#`<topic, lowercase>`" | "#" | |
| 23 | | Podcast Episodes | "podcast:item:guid:`<guid>`" | "podcast:item:guid" | | 23 | | Movies | "isan:`<id, without version part>`" | "isan" | |
| 24 | | Podcast Publishers | "podcast:publisher:guid:`<guid>`" | "podcast:publisher:guid" | | 24 | | Papers | "doi:`<id, lowercase>`" | "doi" | |
| 25 | | Movies | "isan:`<id, without version part>`" | "isan" | | 25 | | Podcast Feeds | "podcast:guid:`<guid>`" | "podcast:guid" | |
| 26 | | Papers | "doi:`<id, lowercase>`" | "doi" | | 26 | | Podcast Episodes | "podcast:item:guid:`<guid>`" | "podcast:item:guid" | |
| 27 | | Podcast Publishers | "podcast:publisher:guid:`<guid>`" | "podcast:publisher:guid" | | ||
| 28 | | URLs | "`<URL, normalized, no fragment>`" | "web" | | ||
| 27 | 29 | ||
| 28 | --- | 30 | --- |
| 29 | 31 | ||
| 30 | ## Examples | 32 | ## Examples |
| 31 | 33 | ||
| 34 | ### Blockchain | ||
| 35 | |||
| 36 | `<blockchain>` can be any layer 1 chain (`bitcoin`, `ethereum`, `solana`, ...). If necessary (e.g. for ethereum), you can specify a `<chainId>`. | ||
| 37 | |||
| 38 | #### Bitcoin | ||
| 39 | |||
| 40 | ``` | ||
| 41 | bitcoin:address:<bech32, lowercase | base58, case sensitive> | ||
| 42 | bitcoin:tx:<txid, hex, lowercase> | ||
| 43 | ``` | ||
| 44 | |||
| 45 | E.g. https://blockstream.info/tx/a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d | ||
| 46 | |||
| 47 | ```jsonc | ||
| 48 | [ | ||
| 49 | ["i", "bitcoin:tx:a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d"], | ||
| 50 | ["k", "bitcoin:tx"] | ||
| 51 | ] | ||
| 52 | ``` | ||
| 53 | |||
| 54 | E.g. https://blockstream.info/address/1HQ3Go3ggs8pFnXuHVHRytPCq5fGG8Hbhx | ||
| 55 | |||
| 56 | ```jsonc | ||
| 57 | [ | ||
| 58 | ["i", "bitcoin:address:1HQ3Go3ggs8pFnXuHVHRytPCq5fGG8Hbhx"], | ||
| 59 | ["k", "bitcoin:address"] | ||
| 60 | ] | ||
| 61 | ``` | ||
| 62 | |||
| 63 | #### Ethereum (and other EVM chains) | ||
| 64 | |||
| 65 | ``` | ||
| 66 | ethereum:<chainId, integer>:tx:<txHash, hex, lowercase> | ||
| 67 | ethereum:<chainId, integer>:address:<hex, lowercase> | ||
| 68 | ``` | ||
| 69 | |||
| 70 | E.g. https://etherscan.io/address/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 | ||
| 71 | |||
| 72 | ```jsonc | ||
| 73 | [ | ||
| 74 | ["i", "ethereum:1:address:0xd8da6bf26964af9d7eed9e03e53415d37aa96045"], | ||
| 75 | ["k", "ethereum:address"] | ||
| 76 | ] | ||
| 77 | ``` | ||
| 78 | |||
| 79 | E.g. https://gnosisscan.io/tx/0x98f7812be496f97f80e2e98d66358d1fc733cf34176a8356d171ea7fbbe97ccd | ||
| 80 | |||
| 81 | ```jsonc | ||
| 82 | [ | ||
| 83 | ["i", "ethereum:100:tx:0x98f7812be496f97f80e2e98d66358d1fc733cf34176a8356d171ea7fbbe97ccd"], | ||
| 84 | ["k", "ethereum:tx"] | ||
| 85 | ] | ||
| 86 | ``` | ||
| 87 | |||
| 88 | |||
| 89 | |||
| 32 | ### Webpages | 90 | ### Webpages |
| 33 | 91 | ||
| 34 | For the webpage "https://myblog.example.com/post/2012-03-27/hello-world" the "i" and "k" tags are: | 92 | For the webpage "https://myblog.example.com/post/2012-03-27/hello-world" the "i" and "k" tags are: |
| 35 | 93 | ||
| 36 | ```jsonc | 94 | ```jsonc |
| 37 | [ | 95 | [ |
| 38 | ["i","https://myblog.example.com/post/2012-03-27/hello-world"], | 96 | ["i", "https://myblog.example.com/post/2012-03-27/hello-world"], |
| 39 | ["k", "web"] | 97 | ["k", "web"] |
| 40 | ] | 98 | ] |
| 41 | ``` | 99 | ``` |