mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-14 07:49:07 -05:00
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
|
# Geo-Location NIP-3166
|
||
|
|
||
|
`draft` `author:steliosrammos`
|
||
|
|
||
|
This NIP defines a standard geo-location tag for events.
|
||
|
|
||
|
## `G tag`
|
||
|
|
||
|
The [ISO3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) standard can be used for a universally recognised country codes.
|
||
|
|
||
|
`[“G”, “<ISO3166 alpha-2 country code>”]`
|
||
|
|
||
|
The tag can be added on any event, and the meaning may vary (see [Examples](#examples) below). The advantage of having a tag specifically for location is to allow Nostr clients to easily query/filter content by location, and for Relays to index events by that tag.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
### On `kind:0`
|
||
|
|
||
|
The `G` tag can be added to profiles through the `kind:0` event. Nostr clients can display the location on the profile page of the user (similar to Twitter/X profiles).
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"kind": 0,
|
||
|
"tags": [
|
||
|
[“G”, “GR”] # Greece Country Code
|
||
|
]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### On `kind:1`
|
||
|
|
||
|
On `kind:1` events the `G` tag can be used as a status for the post (similar to Instagram posts with a location).
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"kind": 1,
|
||
|
"content": "Enjoying a beer paid in Bitcoin at Bitcoin Beach."
|
||
|
"tags": [
|
||
|
[“G”, “ES”] # El Salvador Country Code
|
||
|
]
|
||
|
}
|
||
|
```
|