From 7569773ad6e162333155905f9f1ea620c732ff71 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Thu, 10 Nov 2022 12:14:18 -0800 Subject: [PATCH] NIP-20: add a note about client handling --- 20.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/20.md b/20.md index e76942a..9a96f6d 100644 --- a/20.md +++ b/20.md @@ -68,6 +68,19 @@ Event rejected, insufficient proof-of-work difficulty ["OK", "b1a649ebe8...", false, "pow: difficulty 26 is less than 30"] + +Client Handling +--------------- + +`messages` are meant for humans, with `reason:` prefixes so that clients can be slightly more intelligent with what to do with them. For example, with a `rate-limited:` reason the client may not show anything and simply try again with a longer timeout. + +For the `pow:` prefix it may query relay metadata to get the updated difficulty requirement and try again in the background. + +For the `invalid:` and `blocked`: prefix the client may wish to show these as styled error popups. + +The prefixes include a colon so that the message can be cleanly separated from the prefix by taking everything after `:` and trimming it. + + Future Extensions -----------------