Giter Club home page Giter Club logo

namecoin's Introduction

Namecoin

See https://dot-bit.org/ for more project information.

Namecoin is a peer to peer naming system based on bitcoin. It is a secure and cnesorship reistant replacement for DNS.

Ownership of a name is based on ownership of a coin, which is in turn based on public key cryptography. The namecoin network reaches consensus every few minutes as to which names have been reserved or updated.

It is envisioned that the .bit domain be used for gluing namecoin domain names into the DNS. This can be done close to the user or even by the user.

See FAQ.md for more general information.

News

Stable releases: only releases a tag that starts with "nc", that are signed and that do not end with -rc0-9 should be considered stable. All others are experimental.

IMPORTANT VALIDATION CHANGES at block 19200 and 24000!

  • Effective at block 19200, merged mining comes into effect
  • Also effective at block 19200, timetravel (2015-2016 retarget) hole is closed
  • Effective at block 24000, names registered at block 12000 onward will expire after 36000 blocks instead of the current value of 12000
  • Also effective at block 24000, the decline in network fees will speed up by a factor of 4

You must upgrade to the latest version nc0.3.24.* before block 19200 or your client will start rejecting blocks and will be unable to participate in the network.

Technical

The Bitcoin protocol is augmented with namecoin operations, to reserve, register and update names. In addition to DNS like entries, arbitrary name/value pairs are allowed and multiple namespaces will be available. This will include a personal handle namespace mapping handles to public keys and personal address data.

The protocol differences from bitcoin include:

  • Different blockchain, port, IRC bootstrap and message header
  • New transaction types: new, first-update, update
  • Validation on the new transaction types
  • RPC calls for managing names
  • Network fees to slow down the initial rush

Please read DESIGN-namecoind.md before proceeding.

BUILDING

Building is only supported on Linux for now. Follow the bitcoin build instructions. Use "makefile.unix" - it will generate namecoind. Usage is similar to bitcoind, plus new RPC calls for the new operations. A GUI is on the roadmap.

RUNNING

You can acquire namecoins in the usual bitcoin way, by mining or by reciving some from others. After you have acquired some namecoins, use:

namecoind name_new d/<name>

This will reserve a name but not make it visible yet. Make a note of the short hex number. You will need it for the next step. (Do not shut down namecoind or you will also have to supply the longer hex code below.) Wait about 12 blocks, then issue:

namecoind name_firstupdate d/<name> <rand> <value>

<rand> is the short hex number from the previous step. This step will make the name visible to all.

after the first update, you can do more updates with:

namecoind name_update d/<name> <value>

and transfer to another person:

namecoind name_update d/<name> <value> <address>

dump your list of names:

namecoind name_list

dump the global list:

namecoind name_scan

VALUES

Values for names in the d/ namespace are JSON encoded. The simplest value is of this form:

{"map": {"": "10.0.0.1"}}

A full specification is in progress.

DNS conduits

SOCKS5/Tor name resolver: See ncproxy in the client sub-directory.

In the near future gzip encoding of the value will be possible, but ncproxy does not support this yet.

ROADMAP

  • DNS zone conduit to allow normal DNS server to serve the .bit domain
  • Firefox/chrome/... plugins
  • GUI

namecoin's People

Contributors

amiryal avatar codler avatar crackleware avatar dholbert avatar dlo avatar dooglus avatar ericj2190 avatar gavinandresen avatar hostfat avatar ius avatar jaromil avatar jburkle avatar jordanlewis avatar jrmithdobbs avatar kr105 avatar laanwj avatar lachesis avatar luke-jr avatar makomk avatar mgiuca avatar mhanne avatar muggenhor avatar non-github-bitcoin avatar sipa avatar spiechu avatar unreal89 avatar vinced avatar witten avatar wizeman avatar xslidian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.