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?