2024-04-27 12:26:37 -04:00
NIP-76
======
Speedrunning Leaderboard Entry
------------------
`draft` `optional`
2024-04-27 12:50:34 -04:00
This NIP defines event kind `7602` as a submission to a game's speedrunning leaderboard, specified via a unique `d` tag, e.g. a game's Steam App ID.
2024-04-27 13:11:19 -04:00
Each game's leaderboard has optional Categories, Variations, Platform, Level, Region and Version tags to allow for the creation of alternate sub-leaderboards under one game.
2024-04-27 12:26:37 -04:00
```jsonc
{
"kind": 7602,
"tags": [
2024-04-28 07:06:29 -04:00
["d", "< Unique Identifier for the game > "], //E.g. Among Us' Steam App ID is 945360
2024-04-27 12:26:37 -04:00
["c", "< Category Identifier the submission is for > ", < Long Name > ], //E.g. A%G (Any% Glitchless), AlAc (All Achievements)
["v", "< Variation of the category the submission is for > ", < Long Name > ], //E.g. for Celeste AnyP (Any%), ARB (All Red berries), TE (True Ending) etc.
2024-04-27 13:11:19 -04:00
["plt", "< Platform Identifier > "], //E.g. N64, EMU
2024-04-27 12:26:37 -04:00
["reg", "< 3 Letter ISO Country Code > "], //E.g. JPN, AUS
["lvl", "< Level > "], //E.g. FG, W1L1, F3OS
2024-04-27 12:50:34 -04:00
["ver", "< Version > "], //Version the submission is ran on e.g. 1.4.0.0
2024-04-27 12:26:37 -04:00
["rlt", "< Start Unix Time > ", "< Stop Unix Time > "], //Real Life Time, subtract Start from Stop to get actual time
2024-04-28 06:33:20 -04:00
["igt", "< Start Unix Time > ", "< Stop Unix Time > "], //In-Game Time
2024-05-03 01:40:42 -04:00
["proof": "< Link to proof > "] //e.g. Twitch Vod, replay file
2024-04-27 12:26:37 -04:00
],
2024-05-03 01:40:42 -04:00
"content": "< Description for run > ", //User written comment about run if desired
2024-04-27 12:26:37 -04:00
"created_at": "< Unix Time > ",
"pubkey": "< Public Key > ",
"sig": "< signature > "
}
```
2024-04-27 13:11:19 -04:00
Tags can be entered multiple times if required, such as a game having multiple varieties under one category. E.g. Pizza Tower Full Game Any% has Playable Character and Glitches? varieties.
2024-04-27 12:26:37 -04:00
An example of a potential Super Mario 64 120 Star N64 run submission.
```jsonc
{
"kind": 7602,
"tags": [
2024-04-28 07:06:29 -04:00
["d", "SM64"],
2024-04-27 12:26:37 -04:00
["c", "120S", "120 Star"],
2024-04-27 13:11:19 -04:00
["plt", "N64"],
2024-04-27 12:26:37 -04:00
["reg", "JPN"],
["rlt", "1587370820", "1587376601"],
2024-04-28 06:33:20 -04:00
["proof": "https://www.twitch.tv/videos/2034126985"]
2024-04-27 12:26:37 -04:00
],
2024-05-03 01:40:42 -04:00
"content": "WR run",
2024-04-27 12:26:37 -04:00
"created_at": "1714228879",
"pubkey": "1a6ea253df444f434417bdcaf9d4aef75f00921965e1afd836da0ae9cd1a0e074cb3490bb4cc26ead75af",
"sig": "076b3405407f26b87ff9333fa336c1c6fbdfc27f2f"
}
```
## Reporting a submission
[NIP-56 ](56.md ) reports should be used to report runs.
```jsonc
{
"kind": 1984,
"tags": [
["e", < eventId > , "doubt"],
["p", < pubkey > ]
],
"content": "< Reason for report > ",
...
}
```
Clients can decide whether or not to display a run based on the number of reports.