Uh, I found myelf replying to a post on the old thread and thought it would be better posted here ...
I can't believe how rude some people from the bee community can be after he has helped us all come back from nowhere.
People are just people, we all rely very heavily on simplified assumptions just to be able to get through life at all. Sometimes the assumptions are over-simplified and can lead the unwary into some entertainingly public flights of personal fantasy.
This PoW-PoS changeover thing is more challenging that it might appear. Take a PIVX port to Bee for example.
It's easy enough to clone the current well-developed version but the cloned code
is working with an existing blockchain, the first 200000 blocks (ono) were PoW mined
two years ago. Since then, no PoW mining has taken place on PIVX, the only reason for retaining the code is so that when a PIVX client syncs from the network, the integrity of those 200000 (ono) PoW blocks can be checked as they are received by the client.
If you track back in the PIVX bitcointalk thread to Aug 2016 (the beginning of the PoW/PoS changeover) and cross-reference that period with the PIVX github activity, you'll see about 6 upgrades released in the couple of weeks bracketing the PoW/PoS changeover.
For a PIVX-Bee upgrade, the situation is slightly different. PIVX (or DarkNet as it was called back then) actually needed the PoW period
in order to effect the initial distribution. They arranged a changeover period when coins were minted using both PoW and PoS mechanisms, with the PoS stakeweight networkhash gradually taking over from the PoW mining networkhash under software control.
Bee already has a distribution, it just needs copying over to an upgraded client - which I've done.
The next task is to kickstart the blockchain, which involves persuading the (no longer functioning) PoW mining code to move the chain along until the disbursed Bee coins mature and start exerting sufficient stakeweight (according to the PoSv2 caculations) to cause mint-by-proof-of-stake to occur.
In case anyone's arrived late - in Bitcoin Core (i.e. > 0.9) there is a testnet facility to generate blocks on demand which I temporarily enabled for the Bee mainnet. I had to manually crank the handle in terms of a scheduled task calling
generate 2 every minute in an attempt to mimic the Bee emission rate and get the PoS working in as-near-to-normal-running-conditions as I could. My simplified assumption was that re-running the code from block 0 would work. I failed to account for the possibility that the functionality of the PoW code would not be preserved by subsequent code developments - the rest of the code has moved on and no-one bothered upgrading the PoW miner because it wasn't used and now, because of changes elsewhere in the codebase, it no longer works. All that remains is the testnet facility for
generating blocks on demand.
Well, that's how it was with Navcoin-as-Bee. Navcoin went through the same PoW-PoS sequence as DarkNet, only earlier still. And, like Darknet, there was a hard fork at the point where everyone had to upgrade to the new (PoS-only) wallet.
I did have a public stab at it with Bee but it was a bit low-key because I was so uncertain about just how far my own simplifications had led me into a personal flight of fancy - that the PoS would "just" kick in because I couldn't see why it wouldn't. What I didn't (and still don't) know is how much stakeweight is required. It's possible that PoS would have taken over from the hand-cranked PoW if there was enough PoS nethash from staking clients. And it's also possible that the PoS would not have "just" kicked in for reasons of which I'm not yet aware. (Hey,
I didn't write the code).
I'm experiencing much the same difficulty helping the Helium folks kickstart their PIVX clone. They're in a slightly more favourable situation in that the current Dash/Masternode axis is the result of independent development of a clone of Bitcoin Core 0.11 and still has the in-wallet miner (albeit in a decrepit state) whereas Navcoin is the result of a similar independent development of a clone of Bitcoin Core 0.13 - the one in which the upstream Bitcoin dev team decided to entirely remove the long-unused in-wallet PoW miner code, leaving just the on-demand testnet block generator.
So, there's no mining. Not without a lot of back-filling of old miner code which then needs to be brought up to date (with respect to all the other changes that have subsequently been made to the structure of the code) so that it mints PoW blocks once more. And then, after all that, disabling it again once the LAST_POW_BLOCK has been passed.
All in all, not exactly an attractive proposition, so I'm working on a means of circumventing it.
Does the miner work with an external miner? Good question. I don't know the answer because I'm on a laptop and thus far have had difficulty finding a CPU miner that can handle a post-0.10 protocol. I have one for OS X that might do the job (but I privately doubt it). I'm working on successfully compiling the OS X version of the Navcoin-as-Bee client so that I can find out whether it can still be mined by an external miner.At worst, you'll need wait until Helium launches (cue hollow laughter) and then I can use that as a model.
Cheers
Graham