Giter Club home page Giter Club logo

namecoin-qt'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 censorship resistant 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 supported on Linux, Windows and Mac. Follow the bitcoin build instructions. Use "makefile.unix" for linux - 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:

{"": "10.0.0.1", "map": {"www": "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-qt's People

Contributors

non-github-bitcoin avatar gavinandresen avatar vinced avatar khalahan avatar sipa avatar namecoin-qt avatar dooglus avatar jordanlewis avatar mgiuca avatar doublec avatar codler avatar jrmithdobbs avatar ericj2190 avatar muggenhor avatar mhanne avatar maxpwr avatar wizeman avatar laanwj avatar coblee avatar makomk avatar amiryal avatar kr105 avatar witten avatar dlo avatar dholbert avatar spiechu avatar xslidian avatar lachesis avatar unreal89 avatar hostfat avatar

Watchers

 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.