The Personal Namespace is p/
The purpose of p/ is to "include a personal handle namespace mapping handles to public keys and personal address data."https://github.com/vinced/namecoin/blob/master/README.md
- Raw format
- JSON format
Mapping OpenPGPhttp://www.rfc-ref.org/RFC-TEXTS/2440/chapter6.html#sub2 Message Headers/Footers into Namecoin:
namecoin | openPGP header/footer | notes |
---|---|---|
PGPK |
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: Namecoin-Test 0.0.1 (ASCII armored public key) -----END PGP PUBLIC KEY BLOCK----- |
{ "PGPK":"(the ASCII armored public key)" }Example: p/example on testnet |
PGPM |
-----BEGIN PGP MESSAGE----- Version: Namecoin-Test 0.0.1 (ASCII armored message) -----END PGP MESSAGE----- |
for creating secure messages { "PGPM":"(ASCII armored message)" } |
PGPS |
-----BEGIN PGP SIGNATURE----- Version: Namecoin-Test 0.0.1 (ASCII armored signature) -----END PGP SIGNATURE----- |
{ "PGS":"(the ASCII armored signature)" } |
PGPM-X-Y |
-----BEGIN PGP MESSAGE, PART X/Y----- Version: Namecoin-Test 0.0.1 (ASCII armored message part) -----END PGP MESSAGE, PART X/Y----- |
{ "PGM-1-2":"(the ASCII armored message part)" } |
PGPM-X |
-----BEGIN PGP MESSAGE, PART X----- Version: Namecoin-Test 0.0.1 MessageID: 32-character-string-ID (ASCII armored message part) -----END PGP MESSAGE, PART X----- |
Requires the MESSAGE-ID Armor Header { "PGM-2":"(the ASCII armored message part)", "mID":"32-character string of printable characters" } |
- Example: m/m on testnet
- Example: m/n on testnet
Many keys are too large to fit in the block chain. The following format may be used to link to a large key.
namecoin | description | Example |
v | Data format version. Currently, there is only one version. |
{ "v":"pka1" } |
fpr | OpenPGP fingerprint |
{ "fpr":"0123456789012345678901234567890123456789" } |
uri | URI where the key can be obtained |
{ "uri":"http://www.example.com/user.key" } |
{"v":"pka1","fpr":"0123456789abcde0123456789abcde0123456789","uri":"http://www.example.com/user.key"}
Search for someone's "p/<name></name>" name using namecoin
shell$ namecoind name_list p/<name></name> 1
[ ] Import]the key into gpgshell$ wget -pO - http://www.example.com/user.key | gpg --import gpg: key xxxxxxxx: public key "p/<name></name>" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
Verify the fingerprint matches
shell$ gpg --fingerprint p/<name></name> pub 4096R/xxxxxxxx 2011-06-23 [expires:] Key fingerprint = '''0123 4567 89ab cde0 1234 5678 9abc de01 2345 6789''' uid p/<name></name> sub 4096R/xxxxxxxx 2011-06-23 [expires:] shell$
==Notes==
How about space for a BTC receiving address?