Pages:
Author

Topic: [announce] Namecoin - a distributed naming system based on Bitcoin - page 97. (Read 594420 times)

member
Activity: 102
Merit: 10
Let's make this system without extension.  They have been an unnecessary overhead anyway.

So just 'google' instead of 'google.com'

Another incentive for people to adopt it.
hero member
Activity: 540
Merit: 500
The issue with doing DNS delegation is that it doesn't work behind Tor.  It would work on the exit node, but it would be very limiting if you could only use participating exit nodes.

That's true, but I'm still impartial about this. I still think most people would want the system to work as a domain registry. I wish more people gave their opinion about this. So if someone's going to launch a DNS bridge next week, would you recommend them not to include this functionality? Smiley
I would like this software to work as a domain registry too. All DNS servers in the world already work in a decentralized way. The only thing that is centralized is domain registry, and that is where domains are seized.

Here is an example :
A. domain : bitcoin-contact.org
B. nameservers : NS0.WEB-SWEET-WEB.NET, NS1.WEB-SWEET-WEB.NET
C. zone config (simplified) :
Code:
IN      NS      ns0.web-sweet-web.net.
IN      NS      ns1.web-sweet-web.net.
*       IN  A   188.165.40.52
www     IN  A   188.165.40.52

So, to explain how it works :
A. domain registry owns bitcoin-contact.org and say it is managed by two name servers : NS0.WEB-SWEET-WEB.NET, NS1.WEB-SWEET-WEB.NET
B. name servers are standard DNS servers that respond to dns queries : bitcoin-contact.org => 188.165.40.52, or www.bitcoin-contact.org => 188.165.40.52

On your domain registry account, you can change the 2 nameservers if you want, and dns queries for your domain will be sent to those new servers. This is where the system is decentralized, because you can use whatever dns server you want (and make your own too).
But, other people (your domain provider, ICANN, etc) can change those two nameservers, because they control your domain (directly or indirectly). They can also lock you domain registry account.

So, the only part that still needs to be decentralized is domain registration, with name servers associated.

In the namecoin system, this may looks something like :
Code:
{
  'domain':'mydomain.bit',
  'nameserver':
    [
"NS0.WEB-SWEET-WEB.NET",
"NS1.WEB-SWEET-WEB.NET",
"NS0.XNAME.ORG",
"NS1.XNAME.ORG",
"87.98.164.164",
    ]
}

Then, re-use a standard DNS server to do everything else, to be compatible with existing technology.
member
Activity: 98
Merit: 13
Is there a good reason for namecoin addresses beginning with the same character as bitcoin addresses (1)? Testnet addresses are different to bitcoins addresses to ensure you can distinguish between them, so why is namecoin still 1 too?

Yes -- vinced, please fix this.  It's in base58.h:

Code:
#define ADDRESSVERSION   ((unsigned char)(fTestNet ? 111 : 0))

I would suggest 112, to make addresses begin with the letter 'n'.
newbie
Activity: 1
Merit: 0
Is there a good reason for namecoin addresses beginning with the same character as bitcoin addresses (1)? Testnet addresses are different to bitcoins addresses to ensure you can distinguish between them, so why is namecoin still 1 too?
member
Activity: 69
Merit: 10
It may not work so well though... Some have been complaining of getting an error:
Code:
program can't start because libgcc_s_dw2-1.dll is missing from your computer
You're welcome to try this binary (http://dl.dropbox.com/u/2882613/Namecoin/namecoind.exe) if you get the error but I have not tested it.
legendary
Activity: 1358
Merit: 1002
is there a pre-compiled version for windows?

If you read the thread before asking you would know it was already posted here :
Here is a Windows binary that works as far as I can tell.  I make no guarantees!  http://dl.dropbox.com/u/2882613/Namecoin/namecoin-win32-4-24-2011.zip

The source is included there and I'll upload my source to github here: https://github.com/dmp1ce/namecoin  I made very minor changes just to get things compiling.

To run it I ran namecoind.exe in a cmd.exe terminal and then opened another cmd.exe terminal to run namecoind.exe commands like getinfo.  No GUI yet.

Happy rabbit egg day!

Cheesy
hero member
Activity: 938
Merit: 1002
The issue with doing DNS delegation is that it doesn't work behind Tor.  It would work on the exit node, but it would be very limiting if you could only use participating exit nodes.

That's true, but I'm still impartial about this. I still think most people would want the system to work as a domain registry. I wish more people gave their opinion about this. So if someone's going to launch a DNS bridge next week, would you recommend them not to include this functionality? Smiley

Take a look at my latest commit in the client subdirectory.  I created a proxy that can be inserted betwen polipo and Tor.  That means everything is done on the client side.

Wow, that is nice.

This works behind tor and also allows .onion to be used as the target.  The JSON option is much more flexible than the 80's style DNS zones.  The usual case for the JSON is just:

  {'map':{'' : 'foo.com'}}

Isn't it the anti-use-case of this system? If I wanted to redirect to an ICANN approved domain name, I'd use it instead.

Other than that, it's identical to standard CNAME records, isn't it? Why not include all the standard and make migration easier? Besides that, JSON is much better, that's for sure. I was thinking about encapsulating the zone data in a higher-level object to support different standards.

As to a name not showing up in name_scan.  Please send me a transaction ID and anything in debug.log that looks relevant, and I'll look into it.

Will do sir.
legendary
Activity: 2058
Merit: 1431
is there a pre-compiled version for windows?
legendary
Activity: 980
Merit: 1014
@kiba

The issue with doing DNS delegation is that it doesn't work behind Tor.  It would work on the exit node, but it would be very limiting if you could only use participating exit nodes.

Take a look at my latest commit in the client subdirectory.  I created a proxy that can be inserted betwen polipo and Tor.  That means everything is done on the client side.
he way delegation works in this scheme is similar to a CNAME with a wildcard:

  example.bit is translated to foo.com and then resolved
  x.example.bit is translated to x.foo.com

This works behind tor and also allows .onion to be used as the target.  The JSON option is much more flexible than the 80's style DNS zones.  The usual case for the JSON is just:

  {'map':{'' : 'foo.com'}}

Namecoind by itself would not do any of this.  Better to keep the translation part in external programs so development can be done in parallel.  What we need is:

* A proxy before tor - done
* A proxy without tor
* A DNS resolver that an end-user or an ISP can run locally and delegate .bit to
* A browser plugin

As to a name not showing up in name_scan.  Please send me a transaction ID and anything in debug.log that looks relevant, and I'll look into it.

It's only a week since launch.  There will be more progress if additional people contribute.  I would appreciate coding and documentation help if you would like to see this move faster.

Why are you talking to me about tor?
member
Activity: 69
Merit: 10
Great work Vinced, I will try to keep the Window and Linux binaries up-to-date if needed.  I am not much of a C coder unfortunately so I don't think I will be able to help much with that part.
newbie
Activity: 23
Merit: 34
@kiba

The issue with doing DNS delegation is that it doesn't work behind Tor.  It would work on the exit node, but it would be very limiting if you could only use participating exit nodes.

Take a look at my latest commit in the client subdirectory.  I created a proxy that can be inserted betwen polipo and Tor.  That means everything is done on the client side.
he way delegation works in this scheme is similar to a CNAME with a wildcard:

  example.bit is translated to foo.com and then resolved
  x.example.bit is translated to x.foo.com

This works behind tor and also allows .onion to be used as the target.  The JSON option is much more flexible than the 80's style DNS zones.  The usual case for the JSON is just:

  {'map':{'' : 'foo.com'}}

Namecoind by itself would not do any of this.  Better to keep the translation part in external programs so development can be done in parallel.  What we need is:

* A proxy before tor - done
* A proxy without tor
* A DNS resolver that an end-user or an ISP can run locally and delegate .bit to
* A browser plugin

As to a name not showing up in name_scan.  Please send me a transaction ID and anything in debug.log that looks relevant, and I'll look into it.

It's only a week since launch.  There will be more progress if additional people contribute.  I would appreciate coding and documentation help if you would like to see this move faster.
newbie
Activity: 55
Merit: 0
cant the op be edited with links to the binary's posted around in this thread?
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
dmp1ce, can you build it with the static linking? But thank you anyway! Smiley

also give me a OS X binary so i can run this thing Smiley
I think that we can just ask laszlo to build it. Smiley
member
Activity: 69
Merit: 10
Here is a Windows binary that works as far as I can tell.  I make no guarantees!  http://dl.dropbox.com/u/2882613/Namecoin/namecoin-win32-4-24-2011.zip

The source is included there and I'll upload my source to github here: https://github.com/dmp1ce/namecoin  I made very minor changes just to get things compiling.

To run it I ran namecoind.exe in a cmd.exe terminal and then opened another cmd.exe terminal to run namecoind.exe commands like getinfo.  No GUI yet.

Happy rabbit egg day!
newbie
Activity: 55
Merit: 0
downloaded the namecoin source from github unzipped it and put it in the trunks folder.

how else should this be compiled?? (i am no programmer and have no idea what im doing besides following the manual)

Trunks folder?  Huh

this is the guide i am following. I am changing bitcoin to namecoin and then instead of the first step of checking the bitcoin source out from svn i am putting the namecoin source in the same folder:
Code:
Copyright (c) 2010 Laszlo Hanyecz
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/).  This product includes
cryptographic software written by Eric Young ([email protected]).


Mac OS X build instructions
Laszlo Hanyecz ([email protected])


Tested on 10.5 and 10.6 intel.  PPC is not supported because it's big-endian.

All of the commands should be executed in Terminal.app.. it's in
/Applications/Utilities

You need to install XCode with all the options checked so that the compiler
and everything is available in /usr not just /Developer
I think it comes on the DVD but you can get the current version from
http://developer.apple.com


1.  Pick a directory to work inside.. something like ~/bitcoin works.  The
structure I use looks like this:
(~ is your home directory)

~/bitcoin
~/bitcoin/trunk         # source code
~/bitcoin/deps          # dependencies.. like libraries and headers needed to compile
~/bitcoin/Bitcoin.app   # the application bundle where you can run the app

Just execute: mkdir ~/bitcoin
This will create the top dir for you..

WARNING: do not use the ~ notation with the configure scripts.. use the full
name of the directory, for example /Users/james/bitcoin/deps for a user named
'james'.  In my examples I am using 'macosuser' so make sure you change that.

2.  Check out the trunk version of the bitcoin code from subversion:

cd ~/bitcoin
svn checkout https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk

This will make ~/bitcoin/trunk for you with all the files from subversion.

3.  Get and build the dependencies


Boost
-----

Download from http://www.boost.org/users/download/
I'm assuming it ended up in ~/Downloads..

mkdir ~/bitcoin/deps
cd ~/bitcoin/deps
tar xvjf ~/Downloads/boost_1_42_0.tar.bz2
cd boost_1_42_0
./bootstrap.sh
./bjam architecture=combined address-model=32_64 macosx-version=10.6 macosx-version-min=10.5 link=static runtime-link=static --toolset=darwin --prefix=/Users/macosuser/bitcoin/deps install

This part takes a while.. use your judgement and fix it if something doesn't
build for some reason.

Change the prefix to whatever your directory is (my username in this example
is macosuser).  I'm also running on 10.6 so i have macosx-version=10.6  change
to 10.5 if you're using leopard.

This is what my output looked like at the end:
...failed updating 2 targets...
...skipped 144 targets...
...updated 8074 targets...


OpenSSL
-------

Download from http://www.openssl.org/source/

We would like to build this as a 32 bit/64 bit library so we actually build it
2 times and join it together here..  If you downloaded with safari it already
uncompressed it so it will just be a tar not a tar.gz

cd ~/bitcoin/deps
tar xvf ~/Downloads/openssl-1.0.0.tar
mv openssl-1.0.0 openssl-1.0.0-i386
tar xvf ~/Downloads/openssl-1.0.0.tar
mv openssl-1.0.0 openssl-1.0.0-x86_64
# build i386 (32 bit intel) binary
cd openssl-1.0.0-i386
./Configure --prefix=/Users/macosuser/bitcoin/deps --openssldir=/Users/macosuser/deps/openssl darwin-i386-cc && make
make install # only do this on one of the architectures, to install the headers
cd ..
# build x86_64 (64 bit intel) binary
cd openssl-1.0.0-x86_64
./Configure --prefix=/Users/macosuser/bitcoin/deps --openssldir=/Users/macosuser/deps/openssl darwin64-x86_64-cc && make
cd ..

# combine the libs
cd ~/bitcoin/deps
lipo -arch i386 openssl-1.0.0-i386/libcrypto.a -arch x86_64 openssl-1.0.0-x86_64/libcrypto.a -o lib/libcrypto.a -create
lipo -arch i386 openssl-1.0.0-i386/libssl.a -arch x86_64 openssl-1.0.0-x86_64/libssl.a -o lib/libssl.a -create

Verify your binaries

file lib/libcrypto.a

output should look like this:

ib/libcrypto.a: Mach-O universal binary with 2 architectures
lib/libcrypto.a (for architecture i386): current ar archive random library
lib/libcrypto.a (for architecture x86_64): current ar archive random library


Berkeley DB
-----------

Download from http://freshmeat.net/projects/berkeleydb/

cd ~/bitcoin/deps
tar xvf ~/Downloads/db-4.8.26.tar
cd db-4.8.26/build_unix
../dist/configure --prefix=/Users/macosuser/bitcoin/deps --enable-cxx && make && make install


wxWidgets
---------

This is the big one..

Check it out from svn

cd ~/bitcoin/deps
svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets-trunk

This will make a wxWidgets-trunk directory in deps.

Use this script snippet, change your prefix to whatever your dir is:

PREFIX=~/bitcoin/deps
SRCDIR="$PREFIX/wxWidgets-trunk"
BUILDDIR="$SRCDIR/macbuild"

cd "$PREFIX" &&
#svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets-trunk &&
cd "$SRCDIR" &&

[ -f include/wx/hashmap.h.orig ] || cp include/wx/hashmap.h include/wx/hashmap.h.orig &&
sed 's/if wxUSE_STL/if 0 \&\& wxUSE_STL/g' < include/wx/hashmap.h.orig > include/wx/hashmap.h &&

[ -f include/wx/hashset.h.orig ] || cp include/wx/hashset.h include/wx/hashset.h.orig &&
sed 's/if wxUSE_STL/if 0 \&\& wxUSE_STL/g' < include/wx/hashset.h.orig > include/wx/hashset.h &&



rm -vrf "$BUILDDIR" &&
mkdir "$BUILDDIR" &&
cd "$BUILDDIR" &&

../configure --prefix="$PREFIX" \
--with-osx_cocoa \
--disable-shared \
--disable-debug_flag \
--with-macosx-version-min=10.5 \
--enable-stl \
--enable-utf8 \
--enable-universal_binary \
--with-libjpeg=builtin \
--with-libpng=builtin \
--with-regex=builtin \
--with-libtiff=builtin \
--with-zlib=builtin \
--with-expat=builtin \
--with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk &&


find . -name Makefile |
while read i; do
  echo $i;
  sed 's/-arch i386/-arch i386 -arch x86_64/g' < "$i" > "$i".new &&
  mv "$i" "$i".old &&
  mv "$i".new "$i";
done



make &&
make install



Now you should be able to build bitcoin

cd ~/bitcoin/trunk
make -f makefile.osx bitcoin

Before you can run it, you need to create an application bundle for Mac OS.
Create the directories in terminal using mkdir and copy the files into place.
They are available at http://heliacal.net/~solar/bitcoin/mac-build/
You need the Info.plist and the .ins file.  The Contents/MacOS/bitcoin file is
the output of the build.
Your directory structure should look like this:

Bitcoin.app
Bitcoin.app/Contents
Bitcoin.app/Contents/Info.plist
Bitcoin.app/Contents/MacOS
Bitcoin.app/Contents/MacOS/bitcoin
Bitcoin.app/Contents/Resources
Bitcoin.app/Contents/Resources/BitcoinAppIcon.icns

To run it you can just click the Bitcoin.app in Finder, or just do open
~/bitcoin/Bitcoin.app
If you want to run it with arguments you can just run it without backgrounding
by specifying the full name in terminal:
~/bitcoin/Bitcoin.app/Contents/MacOS/bitcoin -addnode=192.75.207.66
legendary
Activity: 980
Merit: 1014
downloaded the namecoin source from github unzipped it and put it in the trunks folder.

how else should this be compiled?? (i am no programmer and have no idea what im doing besides following the manual)

Trunks folder?  Huh
newbie
Activity: 55
Merit: 0
So im trying to compile it.

i am following the guide for bitcoin that comes with the source code but instead of checking out from the svn as the guide tells me i am putting the namecoin source in the "trunks" folder.

am i doinng it right?
Huh

Namecoin is in a git repository.

downloaded the namecoin source from github unzipped it and put it in the trunks folder.

how else should this be compiled?? (i am no programmer and have no idea what im doing besides following the manual)
legendary
Activity: 980
Merit: 1014
So im trying to compile it.

i am following the guide for bitcoin that comes with the source code but instead of checking out from the svn as the guide tells me i am putting the namecoin source in the "trunks" folder.

am i doinng it right?
Huh

Namecoin is in a git repository.
newbie
Activity: 55
Merit: 0
So im trying to compile it.

i am following the guide for bitcoin that comes with the source code but instead of checking out from the svn as the guide tells me i am putting the namecoin source in the "trunks" folder.

am i doinng it right?
legendary
Activity: 980
Merit: 1014
I am unable to run bitcoind and namecoind at the same time. Has anybody have that issue?
Pages:
Jump to: