NMControl 0.5 :- now starts on windows - better support of other os To use it in Windows, you currently need to install python : - 32 bit- 64 bit* Then, to launch the application use : cd nmcontrol c:\Python\python.exe nmcontrol start * Start namecoin. * Open another terminal and : cd nmcontrol c:\Python\python.exe nmcontrol data getValue id/khal * If the daemon cannot contact namecoind : - configure the path of your namecoin.conf file in 'conf/plugin-data.conf', example : update.namecoin=C:\Users\xxx\Application Data\Namecoin\namecoin.conf - restart nmcontrol (stop first terminal and relaunch it) Does it work for you ? Next step : adding the DNS server.
|
|
|
Any help is appreciated, for example by : - reporting if it is working ok or not (with which os/config) - testing the current behavior on windows or mac - giving ideas/feedbacks/comments - python programmers are welcome to write some code
|
|
|
nmcontrol is designed to be simple, so building a gui that manage the daemon should be "simple" (rpc call + forms to fill required fields per namespace :p). One thing i've added to my original post is that this GUI will not allow you to manage your coins, because a standard bitcoin GUI using RPC can already do that.
Also, pertinent remark from markm about the GUI :p
Windows support shouldn't be difficult too (because i've already coded with it in mind).
Other comments ?
|
|
|
Here is the first release of NMControl 0.4 ! Descriptionnmcontrol is a python software that will provide services on top of namecoin like DNS, proxy, name (domain, alias, etc) registration and renewal. It is composed of a daemon (nmcontrol) that communicates with namecoin and provide services, and a GUI (nmcontrol-gui) that manages the daemon. It will allow you to :- create domains, alias and auto renew them - listen for dns requests - listen for socks requests - publish your services (in a namecoin record/namespace, services could announce themselves in the blockchain) - etc It is multi-threaded and designed with plugins, to enable each person to activate only what they need and what they want to share (for example, you will be able to share your DNS server with other people if you want). Aim of this software is to allow people to easily build things/services on top of namecoin. Current version supports :- a flexible plugin system - an rpc client/server to manage commands - communication with namecoin TODO :- a GUI [edit: to manage domains, alias, dns server, etc, but not your coins. Coins can be managed with a bitcoin GUI using RPC] - make required modifications for it to work on windows and mac - advanced services like DNS and proxies - automatic configuration of the OS - provide binaries and install software Links :- sources- archives- README- INSTALL- TODONow that the base structure is done, I can focus on advanced services Which one would you want first : - windows support ? - dns server - name auto-renew ? - gui ? - other ?
|
|
|
For the second year of this service, offers have been simplified, prices updated and renewal fees are now defined. Here are the new prices : Domains :- registration of a new domain : 1BTC / year - add an existing domain : 1BTC / year - renewal of domain name : 0.5BTC / year Hosting :Check the 'hosting' tab for details on : http://register.dot-bit.org/* Free services : - 10 emails - antispam, smtp - unlimited subdomains, redirects - 1 DB - 10MB HDD - free bandwith (fair use) * Hosting services : - HDD : 0.5BTC/GB/month - Bandwidth : 0.5BTC/GB/month
|
|
|
You should have received the coins at the registered address I have received the coins, thanks! Registering an alias is more complicated and error-prone than it needs to be. There should be a createalias() function that asks a few questions and then performs the necessary steps. What happens behind the scenes when one calls name_firstupdate? It took a while for name_show to actually show the alias. A GUI would be interesting, indeed, to allow easy registration of domains, alias, etc. A name_firstupdate reveals the name you are registering, a name_new doesn't. So, normal process is name_new, wait 12 blocks (the network will wait before accepting a name_firstupdate), the name_firstupdate is accepted. If you launch the name_firstupdate just after the name_new (0 confirmation), someone could see the name you want to register and do the same (name_new + name_firstupdate.
|
|
|
My bad, it works! How can I create an alias?
Thanks for the donation of 1NMC . Hope to send them back soon :p Sent : namecoind sendtoalias bitinvestor 1 You should have received the coins at the registered address
|
|
|
Namecoin does not hide server location, Tor .onion service does.
Namecoin does not hide visitor location, Tor does. Do you know bitcoin and namecoin can go through tor : https://en.bitcoin.it/wiki/Tor#bitcoind ? I'm sure you knew it. Namecoin needs separate DNS configuration, Tor .onion addresses works ouf-of-box, at least for Tor bundle. So, are people forced to use unreadable and unmemorable addresses because it works out of the box ? Should they stay like that forever ? Namecoin couldn't be integrated in tor bundle if they want that ? People can't install namecoin if they want ? I don't understand the problem with giving more possibilities. Namecoin needs constant mining, Tor does not need.
Namecoin is secure from takeover, Tor .onion addresses also are secure.
Namecoin is interesting experiment and proof-of-concept, but there are better solutions. .onion FTW!
Namecoin is THE solution, really. All other solutions are really shit ! If Tor people didn't add namecoin into tor they are stupid. Do i need to put a smiley ?
|
|
|
Nop, building on mac and windows is possible (I should correct this old README...). We just need someone able to do it on latest release (you can still use latest available version for windows on http://dot-bit.org, but the new commands won't be available)
|
|
|
My bad, it works! How can I create an alias?
Thanks for the donation of 1NMC . Hope to send them back soon :p You must register an alias prefixed with "id/" in namecoin. Here is mine to give you an idea : namecoind name_show id/khal { "name" : "id/khal", "value" : "{ \"email\" : \"khal@dot-bit.org\", \"bitcoin\" : \"1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T\", \"namecoin\" : \"N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9\" }" } Fake example of registration : namecoind name_new id/bitinvestor [ "045637420d7820779426b3a9da847253070e9b51ffc6dc8bfd46fd7cf9bdf529", "94086936402036f000" ]
namecoind name_firstupdate id/bitinvestor 94086936402036f000 045637420d7820779426b3a9da847253070e9b51ffc6dc8bfd46fd7cf9bdf529 "{ \"email\" : \"khal@dot-bit.org\", \"bitcoin\" : \"1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T\", \"namecoin\" : \"N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9\" }" To be sure you put a valid json "value", copy/paste the value here : http://dot-bit.org/tools/domainCheck.phpps : don't use more than 520 characters to avoid a bug that will be solved soon.
|
|
|
1. Decide which pattern to use for the alias 2. Write a sendtoalias() function 3. Create an alias 4. Test it 5. If it works, tell others how to use it 6. If it doesn't work, make it work
1. No special pattern used in namecoin itself, use the alias directly 2. Code is available here (new rpc command sendtoalias) : https://github.com/khalahan/namecoin3. The existing alias is "khal" (stored in namecoin as "id/khal") and contains that data : { "email" : " khal@dot-bit.org", "bitcoin" : "1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T", "namecoin" : "N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9" } 4. Use the command below to send me 2NMC : namecoind sendtoalias khal 2 The coins will be sent to my namecoin address N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9. 5. Copy/paste the sendtoalias function in other softwares and add a part to do a name_show query to namecoin (namecoin has a direct database access so it doesn't need it). 6. Beta phase is here to tell us Things may change a bit if needed, so consider this a beta phase.
|
|
|
Each application has its own space, so Bitcoin will store its data in the "bitcoin" space.
I don't understand this. Why not one "cryptocoin" space that all coins can access? You could have BTC, NMC, and LTC addresses registered in your alias. When you want to send some NMC the Namecoin client uses the NMC address and when you want to send some BTC the Bitcoin client uses the BTC address. Each coin can update his format separately and implement features when they want. I think it's more clear like that too. - a secure way to get an address from an http request
Sorry, I don't understand. Please explain. I've updated the BIP 15. Here is a copy/paste : You can put an url and a bitcoin address that will be used to sign the result. It means that a query to this url will return a bitcoin address and a signature. Bitcoin can then check (with the verify_message function) that the returned address has not been replaced by another one. Did i missed some important use case ?
I'm under the impression that it's up to the user to decide what he wants to register under his alias: cryptocoin addresses, e-mail addresses, phone numbers, etc. If this is the case then it should be future proof. Yes, applications and the community propose their formats/spaces and users decide what to put under their alias. Great idea possibly. Still the issue of squatters possibly buying out well-known id's too.. not sure how well that'll go.
Yeah, if this takes off then we will end up with names similar to the usernames on Ebay. The only way to prevent squatting is to make it expensive to register a name, but then fewer people will use it. Indeed, but before reaching ebay's popularity.... :p Emails are interesting for that point, because it is segmented by domain names. Maybe we could use a syntax like <name>@<group/location/what we want> ?
|
|
|
Here is a new proposal for the Bitcoin alias system : https://en.bitcoin.it/wiki/BIP_0015#Namecoin_IDYou enter an alias to send bitcoin to. Example of alias : $ namecoind name_show id/khal { "bitcoin" : "N15mJsVMHNtVDedDnD8vu82M5hCfn3nJWq" } It is based on Namecoin and the identity namespaceAim of this namespace is to store email address, bitcoin address, namecoin address, gpg keys, etc. All that is related to an online and public identity. Each application has its own space, so Bitcoin will store its data in the "bitcoin" space. The specification currently allows : - a single address - multiple addresses - addresses with labels - a secure way to get an address from an http request - the user to be prompted for some data (a customer id or an order id for example) that a merchant will receive and associate with a bitcoin address What do you think ? Do we really need multiple addresses and labels ? Did i missed some important use case ?
|
|
|
After some more poking I got this to generate a zone file but it's only 547 lines long and none of my domains are listed. This appears to be skipping a huge number of domains. Maybe php isn't the right language to write this in. I guess after all tests you've done that it has cached an incomplete list of names and tou got only new names. Here is what i have (after cleaning the cache and launching once) : ll cache/ total 2.1M -rw-r--r-- 1 www-data www-data 1.7M May 30 09:10 bind_tree_seri -rw-r--r-- 1 www-data www-data 415 May 30 09:10 getinfo_seri -rw-r--r-- 1 www-data www-data 434K May 30 09:10 names_block_seri ll /etc/bind/dotbit total 1.4M -rw-r--r-- 1 www-data bind 1.1M May 30 09:10 db.namecoin.bit Can you report any error you have on first launch (after a cache clean) ? On which OS are you installing it ? I really don't get why namecoin uses 'ip' for 'A' records, 'ip6' for 'AAAA' records, 'alias' for 'CNAME' records. Why not just name these things the same way DNS does? After all this is aimed at DNS administrators isn't it? Maybe to be coherent with other keywords like tor, i2p, fingerprint and all other that don't have a DNS equivalent.
|
|
|
|