I want to set up an isolated lab where I read the software sources, execute for a bit, and see what happens.
In my particular scenario I will use an earlier version of the reference bitcoin client and download about 10,000 blocks. The difficulty will be 1 at this point.
I will use cgminer and ckpool as well, to develop what skill I can at understanding stratum and how to configure the servers and what they do.
Toward that end I have made the most recent version of ckpool, and started it with
ckpool -l 7 -A -H
and ckpool.conf points only to my local setup.
I appear to retreive getblocktemplates, pass info up to cpuminer/minerd, do the magic and send results back to ckpool. ckpool.log and the consoles for cpuminer and ckpool make sense to me.
I don't grok how to get the new block submitted to my local bitcoind.
For what it's worth, I am looking at line 6225 of stratum.c. That seems to be one place where I might expect a submitblock to happen, but it does not.
My understanding of "upstream" and whether it is necessary / possible to set up a proxy to make this happen is a bit wobbly.
Oh, and while I am posting, I thought I would mention that I am pretty familiar with GitHub, but not so much with the repository where ck has his source located. Is there a GitHub bridge (fork) to his efforts, or do I need to figure out the new repository as part of all this effort.
Old versions of the bitcoin daemon do not have the features required for ckpool to work completely, though I don't know how old you're talking about.
There's nothing in line 6225 that has anything to do with submitting a block? test_blocksolve goes to line 5949 which sends it to local_block_submit and in there line 2061 submits it to generator_submitblock and so on.
Bitbucket is the only authentic git repository for my source, so not sure why you need to look elsewhere?