Author

Topic: Devcoin - page 157. (Read 412998 times)

legendary
Activity: 2940
Merit: 1090
December 29, 2011, 02:38:40 AM
The merged mining patches broke devcoin-qt, seems to be the "not thread-safe" problem again, as it segfaults and coredumps with this message:

devcoin-qt: /usr/include/boost/interprocess/sync/posix/interprocess_recursive_mutex.hpp:49: boost::interprocess::interprocess_recursive_mutex::~interprocess_recursive_mutex(): Assertion `res == 0' failed.

This is presumably without even trying to mine, as neither on the commandline nor in any config file did I tell it to mine.

EDIT: I have put it on github at https://github.com/knotwork/old-devcoin-qt

-MarkM-
legendary
Activity: 2940
Merit: 1090
December 29, 2011, 01:23:57 AM
Hopefully we can continue to push the envelope to discover how many chains a pool can manage to merged-mine all at once.

Adding it to GRouPcoin will be easy, then Britcoin, Canadian Digital Notes, Martian Botcoin etc can follow...

-MarkM-
legendary
Activity: 2128
Merit: 1031
December 29, 2011, 01:08:54 AM
So will pool.devcoin.org merge mine BTC/NMC/I0C/IXC/DVC?  If so, I think that'll attract a lot of traffic for those interested in merged mining.

IXC should be ready to merge mine within the week.

Then hopefully, by the end of January, most pools can start merge mining all of these coins to help them all be safer with more hashing power.
legendary
Activity: 2940
Merit: 1090
December 29, 2011, 12:53:57 AM
On further consultation with Unthinkingbit, we have decided to use block 25000 as the magic number for merged mining commencement.

Our chain ID is 0x004.

These changes have been pushed to https://github.com/knotwork/old-devcoind

-MarkM-
legendary
Activity: 1078
Merit: 1005
December 29, 2011, 12:27:28 AM
I have set up a permanent devcoin node running on bitparking.com (206.71.179.116) on the default port.
legendary
Activity: 1078
Merit: 1005
December 28, 2011, 11:58:56 PM
so all I need to do is upgrade the pools devcoin daemon to this new one and and then at block 25500 merged mining blocks will start happening?

Before the switch on block you can merge mine with devcoin as the parent chain and namecoin and/or i0coin as the auxiliary chains. The devcoin blocks solved here are valid for all clients. After block 25,000 (or whatever the decided switch on is) you can merge mine with bitcoin as the parent and devcoin as an auxiliary. Clients need to upgrade to accept the blocks produced in this configuration.
hero member
Activity: 896
Merit: 1000
Buy this account on March-2019. New Owner here!!
December 28, 2011, 10:24:55 PM
groovy brother

so all I need to do is upgrade the pools devcoin daemon to this new one and and then at block 25500 merged mining blocks will start happening?

My pool is all ready and working 100% with Bitcoin as the parent chain and namecoin and devcoin as aux chains, ive been mining on it all night with my 8 ghash with no problems and have actually solved a name coin block (damn I feel lucky) Smiley


Unthinkingbit I dont know what proof you need from me but let me know so I can provide it - I could sure use that bounty right about now! Smiley


on a side note if any of you brothers involved in this devcoin project would like a @devcoin.org email address just let me know and I will hand them out for free

take care have a good night and ttyl!



legendary
Activity: 2940
Merit: 1090
December 28, 2011, 10:17:19 PM
will I not be able to mine any devcoin blocks merged until we hit block 25000?

because its mining right along with no errors but no devcoin blocks are being solved, and I have about 1500 mhash pointed at the merged mining pool with BTC as Parent, DVC, NMC as AUX

Right now that magic number is set to 45000, the nubmer that was used for Ixcoin's merged mining inauguration presumably.

I will change it to 25500 in accordance with Unthinkingbit's judgement-call, and make a devcoind-mm.tgz source bundle to put on SourceForge for those who download from there.

I think I will also apply the patches to GRouPcoind and set its magic block number closer to the present day so we can start testing it there too. Afterall its original purpuse was as a testbed for DeVCoin.

Britcoin, Canadian Digital Notes, bitNicKeLs etc are of course also now clamouring for the patch so they can do clean new restarts of their chains instead of (well, actually as well as) moving their accounting over to the Open Transactions server.

-MarkM-
hero member
Activity: 896
Merit: 1000
Buy this account on March-2019. New Owner here!!
December 28, 2011, 08:12:52 PM
will I not be able to mine any devcoin blocks merged until we hit block 25000?

because its mining right along with no errors but no devcoin blocks are being solved, and I have about 1500 mhash pointed at the merged mining pool with BTC as Parent, DVC, NMC as AUX
hero member
Activity: 896
Merit: 1000
Buy this account on March-2019. New Owner here!!
December 28, 2011, 07:54:42 PM
ive got a pool up right now, BTC as Parent with Devcoin and Namecoin as Aux chains
its working well with no errors and im mining on it as we speak
hero member
Activity: 896
Merit: 1000
Buy this account on March-2019. New Owner here!!
December 28, 2011, 07:24:27 PM
Actually ArtForz works with coinbasing so far...


Code:
[01:21:20.063] New Block detected [35357] from source: DaemonSource[bitcoind-mm].namecoin - 0 lagging sources.
[01:21:20.064] New Block detected [23533] from source: DaemonSource[bitcoind-mm].devcoin - 0 lagging sources.
[01:21:20.067] New Block detected [159607] from source: DaemonSource[bitcoind-mm].bitcoin - 0 lagging sources.
[01:21:20.067] Restoring workmap from file: /home/tom/poolserverj/tmp/workmap-8999.bin
[01:21:20.158] Work fetcher thread waiting for WorkMaker to signal ready.
[01:21:20.158] WorkMaker ready, launching work fetcher thread.
[01:21:20.159] PoolServerJ is open for business


Wink

If I can actually mine blocks that remains to be seen, but this is progress Smiley
legendary
Activity: 1078
Merit: 1005
December 28, 2011, 06:43:19 PM
Yes you are right as of right now just to test it out I used Devcoin as parent chain and namecoin as aux chain, I can tell you though based on my experiences with merged mining I am quite sure the patches are working based on the fact that I am not getting any errors merging the two in my poolserverJ setup...

When I get a little time later I will experiment with Bitcoin as the parent chain and devcoin and namecoin as aux chains and see what happens

doublec, do you have a particular namecoind that you recommend? I know I heard you say vinced before but vinced wont coinbase, not the vinced off github anyways. If you have a particular namecoind that will merge and coinbase please let me know
thanks
Bitcoin as the parent with devcoin as an aux chain will need the block value changed in GetAuxPowStartBlock. You can make it INT_MAX for testing purposes which will allow merge mining. You should do that on a closed network only otherwise the blocks will be orphaned.

For namecoin I use the current master branch. You are correct that it doesn't support coinbasing, no version of namecoin supports that - except for custom builds that I'm not aware of being publicly available. Why do you need coinbase?
hero member
Activity: 896
Merit: 1000
Buy this account on March-2019. New Owner here!!
December 28, 2011, 06:14:19 PM
Yes you are right as of right now just to test it out I used Devcoin as parent chain and namecoin as aux chain, I can tell you though based on my experiences with merged mining I am quite sure the patches are working based on the fact that I am not getting any errors merging the two in my poolserverJ setup...

When I get a little time later I will experiment with Bitcoin as the parent chain and devcoin and namecoin as aux chains and see what happens

doublec, do you have a particular namecoind that you recommend? I know I heard you say vinced before but vinced wont coinbase, not the vinced off github anyways. If you have a particular namecoind that will merge and coinbase please let me know
thanks
hero member
Activity: 935
Merit: 1015
December 28, 2011, 06:07:27 PM
For testing, this describes the approach I used for creating test networks to try it out when doing the i0coin patch. If you don't already have it you should also include the time travel exploit fix. The latter is also a block forking change so you could activate it at the same block as the merge mining switch if needed.

We have a time travel exploit fix, from:
http://devtome.org/wiki/index.php?title=Devcoin#Difficulty

"The time difference is determined by sorting the blocks by time stamp, then subtracting the time stamp of the sixth block from the bottom from the time stamp of the sixth block from the top. This is to prevent the time travel exploit."

How soon do we want it to go into effect? block 25000 maybe? or even sooner?

I suggest block 25,500 about two weeks from now because it'll take time to test it following Doublec's merged mining test procedure.  Also, we'll need time for everyone to update their devcoin copy and stuff happens.
legendary
Activity: 1078
Merit: 1005
December 28, 2011, 06:03:24 PM
Is the ChainID just sequential, so that we can just bump it to 0x0004, or is it bits indicating something or other?
It is a number, not a bitfield. Incrementing should be fine. See the information in the merged mining specification for details of how it is used:
Quote
New implementers: please pick your chain_id so that not clashing with existing chains requires as small a value of merkle_size as possible, or use a better algorithm to calculate the slot id for your chain.
legendary
Activity: 2940
Merit: 1090
December 28, 2011, 05:49:23 PM
Code:
// Even if we do not accept AUX POW ourselves, we can always be the parent chain.

int GetAuxPowStartBlock()
{
    if (fTestNet)
        return 0; // Always on testnet
    else
        return 45000; // Never on prodnet
}

int GetOurChainID()
{
    return 0x0003;
}

Is the ChainID just sequential, so that we can just bump it to 0x0004, or is it bits indicating something or other?

How soon do we want it to go into effect? block 25000 maybe? or even sooner?

-MarkM-
legendary
Activity: 1078
Merit: 1005
December 28, 2011, 05:39:44 PM
It sounds though as if the patch I applied must have a switch in it osmewhere too that will turn on merged mining at some specific blockheight?

If so I wonder what block that would be. Probably have to try to figure out where that switch would be I guess...
It's in GetAuxPowStartBlock in main.cpp
legendary
Activity: 2940
Merit: 1090
December 28, 2011, 05:38:13 PM
For testing, this describes the approach I used for creating test networks to try it out when doing the i0coin patch. If you don't already have it you should also include the time travel exploit fix. The latter is also a block forking change so you could activate it at the same block as the merge mining switch if needed.

We did something a while back that turned on at a certain block. It is possible fixing the timetravel exploit was part of what it was for, I'm not sure.

It sounds though as if the patch I applied must have a switch in it osmewhere too that will turn on merged mining at some specific blockheight?

If so I wonder what block that would be. Probably have to try to figure out where that switch would be I guess...

-MarkM-
legendary
Activity: 1078
Merit: 1005
December 28, 2011, 05:05:45 PM
For testing, this describes the approach I used for creating test networks to try it out when doing the i0coin patch. If you don't already have it you should also include the time travel exploit fix. The latter is also a block forking change so you could activate it at the same block as the merge mining switch if needed.
hero member
Activity: 935
Merit: 1015
December 28, 2011, 04:53:48 PM
..
the code will need to have a switch on block for when the blockchain forks and all clients will need to update before then. In the source repository markm linked to the switch on block is 45,000. I assume that's pulled directly from my merge mining patch for ixcoin. That'll need to be changed or you'll end up forking the chain. Make sure the chain id is also changed in the GetOurChainID function. Currently 0, 1, 2 and 3 are used that I know of. If you want to merge mine with the other chains it'll need to be different from that.

I think we need merged mining with Bitcoin as the parent chain so that people can merge mine BTC/NMC/DVC all together, otherwise people won't switch from NMC to DVC for profitability reasons.

Indeed, the parent chain must be bitcoin, which will require everyone to download an updated devcoin.  Since the current block is around 23,500 to give time to add the remaining code changes (switch block, chain id), testing, and for everyone to download the merged devcoin, I suggest 25,500 be the switch block.

Once a merged devcoin block is mined after the switch block, with bitcoin as the parent chain, the first part of the merged mining bounty will be awarded (120 BTC + 20 million DVC for Doublec).

Note, when I first posted the bounty I assumed that bitcoin would be the parent chain.  However, if mining with devcoin as the parent chain and essentially namecoin as the auxiliary chain brings the devcoin difficulty towards the namecoin difficulty, without breaking either network, then part of the merged mining bounty will be awarded for this intermediate step.
Jump to: