pub fn is_valid_nickname(s: &str) -> boolExpand description
Validates a relay nickname.
A valid nickname consists of 1 to 19 alphanumeric ASCII characters. Nicknames are used to identify relays in a human-readable format.
§Arguments
s- The string to validate
§Returns
true if the string is a valid nickname, false otherwise.
§Format
- Length: 1 to 19 characters
- Characters: ASCII alphanumeric only (a-z, A-Z, 0-9)
- No spaces, hyphens, underscores, or special characters
§Example
use stem_rs::util::is_valid_nickname;
// Valid nicknames
assert!(is_valid_nickname("MyRelay"));
assert!(is_valid_nickname("relay123"));
assert!(is_valid_nickname("A")); // Single character is valid
assert!(is_valid_nickname("1234567890123456789")); // 19 chars max
// Invalid nicknames
assert!(!is_valid_nickname("")); // Empty
assert!(!is_valid_nickname("12345678901234567890")); // 20 chars - too long
assert!(!is_valid_nickname("my-relay")); // Hyphens not allowed
assert!(!is_valid_nickname("my_relay")); // Underscores not allowed
assert!(!is_valid_nickname("my relay")); // Spaces not allowed§This Compiles But Is Wrong
use stem_rs::util::is_valid_nickname;
// Nicknames are NOT case-insensitive identifiers
// "MyRelay" and "myrelay" are different nicknames
let nick1 = "MyRelay";
let nick2 = "myrelay";
assert!(is_valid_nickname(nick1));
assert!(is_valid_nickname(nick2));
// But they refer to different relays!