Skip to content

Latest commit

 

History

History
168 lines (136 loc) · 3.51 KB

Personal-Namespace.mediawiki

File metadata and controls

168 lines (136 loc) · 3.51 KB

Table of Contents

Personal Namespace

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

Format

  • Raw format
  • JSON format
"i" - identity name

PGP

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"
 }

Large Keys

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"
 }

Example: Data Format

 {"v":"pka1","fpr":"0123456789abcde0123456789abcde0123456789","uri":"http://www.example.com/user.key"}

Example: Importing a key to GnuPG

Search for someone's "p/<name></name>" name using namecoin

shell$ namecoind name_list p/<name></name> 1

[
]

Import]the key into gpg

shell$ wget -pO - http://www.example.com/user.key | gpg --import gpg: key xxxxxxxx: public key "p/&lt;name&gt;&lt;/name&gt;" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)

Verify the fingerprint matches

shell$ gpg --fingerprint p/&lt;name&gt;&lt;/name&gt; pub 4096R/xxxxxxxx 2011-06-23 [expires:] Key fingerprint = '''0123 4567 89ab cde0 1234 5678 9abc de01 2345 6789''' uid p/&lt;name&gt;&lt;/name&gt; sub 4096R/xxxxxxxx 2011-06-23 [expires:] shell$

==Notes==

How about space for a BTC receiving address?