Rebase namecoin on Bitcoin 0.6 or libbitcoin

Namecoin, NMControl
virtual_master
Posts: 541
Joined: Mon May 20, 2013 12:03 pm
Contact:

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by virtual_master »

So let us compile libcoin/namecoind and test it. May be a compiling profi. It seems to be also classes which are definitelly not used in Namecoin, like the Ripple specific ones.

I have looked on the last libcoin commits and I am asking following things:
- if libcoin/bitcoind is 100% compatible with bitcoin/bitcoind then with which version ?
The same question on Namecoin: libcoin/namecoind on which bitcoin/bitcoind compatibility is based.
- The last commit seems to be:
'Updated namecoin to disable rule enforcement (like the main namecoin ……branch, to get by block 139872)'
Is this the bugfix ?
- Namecoin is even more dependent of connectivity to other projects then Bitcoin.
I see some Ripple classes also.
Could be they used also for something in the Namecoin project ?
http://namecoinia.org/
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S

snailbrain
Posts: 309
Joined: Tue Jul 19, 2011 9:33 pm

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by snailbrain »

Here is a quote from Libcoin after some queries about rebase over email:
libcoin - is a refactorization, which also supports namecoin and
litecoin, so it should be pretty straight forward to rebase.

A few obstacles:
* I would like to update the wallet format of libcoin (currently the
only on included in the repo is the original one, but I have another one
running in production, that just need to be adapted)
* Reintegrate bitcoin-qt along with you namecoin page (he means names tab in namecoin-qt)
* Mining - kind of supported but for another purpose - should be pretty
easy to add the missing feature - in fact for merged mining you can run
both bitcoin and namecoin side by side in the same process based on
libcoin

If someone could point me to the RPC calls you actually use for mining I
can have a look and ensure they are implemented as the first.

virtual_master
Posts: 541
Joined: Mon May 20, 2013 12:03 pm
Contact:

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by virtual_master »

Then we should rebase namecoind on bitcoind until libcoin is ready.
http://namecoinia.org/
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by phelix »

virtual_master wrote:Then we should rebase namecoind on bitcoind until libcoin is ready.
woot? the above sounds like it is almost finished.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by biolizard89 »

phelix wrote:
virtual_master wrote:Then we should rebase namecoind on bitcoind until libcoin is ready.
woot? the above sounds like it is almost finished.
Yeah, libcoin's description sounds like less work than rebasing on bitcoind. But, I may be wrong.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

Ademan
Posts: 8
Joined: Sun Dec 01, 2013 6:48 am

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by Ademan »

I'd be happy to help out some with this, if there's anything relatively newbie friendly. I believe I have a pretty good understanding of Bitcoin, but I've never read it (or the namecoin source). I'm always at least idling in #namecoin

Thanks,
Dan

khal
Site Admin
Posts: 708
Joined: Mon May 09, 2011 5:09 pm
os: linux

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by khal »

Merged mining is done with the rpc call "getworkaux" in namecoind (+ of course, the code which consider merged mined blocks as valid in the blockchain, which should already be included in libcoin I guess).
NamecoinID: id/khal
GPG : 9CC5B92E965D69A9
NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T

Register Namecoin domains with BTC
My bitcoin Identity - Send messages to bitcoin users
Charity Ad - Make a good deed without paying a cent

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by indolering »

libcoin - is a refactorization, which also supports namecoin and
litecoin, so it should be pretty straight forward to rebase.

A few obstacles:
* I would like to update the wallet format of libcoin (currently the
only on included in the repo is the original one, but I have another one
running in production, that just need to be adapted)
* Reintegrate bitcoin-qt along with you namecoin page (he means names tab in namecoin-qt)
* Mining - kind of supported but for another purpose - should be pretty
easy to add the missing feature - in fact for merged mining you can run
both bitcoin and namecoin side by side in the same process based on
libcoin

If someone could point me to the RPC calls you actually use for mining I
can have a look and ensure they are implemented as the first.
Has anyone just asked the developer how much he would charge us to finish off the wallet and merged mining? If it's as easy as he makes it sound, I'm sure we could raise the money for it.
DNS is much more than a key->value datastore.

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by indolering »

phelix wrote:
virtual_master wrote:Then we should rebase namecoind on bitcoind until libcoin is ready.
woot? the above sounds like it is almost finished.
Huh? Libcoin is mostly ready and rebasing namecoind on bitcoind requires a total rewrite. Doing both would require twice as much work. I'm all for multiple implementations but...
DNS is much more than a key->value datastore.

davispuh
Posts: 15
Joined: Tue Jun 11, 2013 11:54 pm
os: windows

Re: Rebase namecoin on Bitcoin 0.6 or libbitcoin

Post by davispuh »

About Libcoin I don't like that they forked Bitcoin codebase, used it as base but changed to LGPL license (Bitcoin is using MIT license). Thus they made it more restrictive and I always prefer to contribute least restrictive license, thus MIT over LGPL.

Another reason why I think it would be better to use original Bitcoin is that it's very actively developed by experienced Bitcoin developers, it's tested very thoroughly (Namecoin currently doesn't really have tests and Libcoin have very little). Also Bitcoin will be first place where any security fixes will be implemented. As Namecoin is based on Bitcoin's implementation it would benefit from all Bitcoin fixes and those could be very simply merged in. Also there might be some cases when Namecoin improvements could also be useful for Bitcoin and merged there. For example some parts of Bitcoin code could be refactored to be coin-independent and then easily reused between Bitcoin and Namecoin (and possibly other altcoins) so wouldn't need to manage whole copy of Bitcoin fork.

While it definitely requires huge work I think it gives way more benefits in future as after it should be quite easy to follow up. I'm not sure how much were changed for Namecoin but if it's diverged a lot from Bitcoin codebase then it might be easier to just re-implement Namecoin back on top of Bitcoin, rather than trying to rebase current code.


By the way I just rebased/merged Namecoin repository on top of Bitcoin's master one, I didn't resolved any conflicts, but it still might be useful to see what are differences. Basically result is neither Bitcoin nor Namecoin :D But I think it can be fixed, just have to review all places of "<<<<<<< HEAD" and using blame for both repositories decide how to implement it correctly. It will be easy to resolve some conflicts but for others probably there will be a lot of work needed. After conflicts will be resolved then would need to review all code paths and test everything. So anyway you can see it here: https://github.com/davispuh/namecoin/tr ... oin_merged


EDIT: here's csv file, list of all files with conflicts and count in each file. Like 1/3rd of conflicts are from Qt locale files.

Post Reply