Unifyroom が復活したよ、良かった

暗号通貨
スポンサーリンク

はじめに

先日投稿した「Unifyroom 終わったか(汗)」の続きです

フォークした

ブロック高 12095 から進まなくなってしまった Unfiroom ですが、その後 1.0.3 というバージョンがリリースされました
早速、マスターノード側のデーモンとWindows Qtを入れ替えてみるも改善しない
しばらくすると 1.0.4 というバージョンがリーリースされた
同じくデーモンとQtを入れ替えてみた、ブロック高が 12095から12101と少し進んだが止まっている
すると、マイニングプールRplantが復活したのか、ブロック高が進んでいったのだ!
お動き出したのか!?
ただ自分のマスターノードや、Qtの方は12101から進まない状況です。エクスプローラーを見ても12101から進んでいないようだ
何だろと思いながら、試しにソロマイニングやってみようと、Qtからコマンドを実行
setgenerate true 8 UNFY39iqsMKSDMNV8wP3kQEva7bTwMeb1q
すると、直ぐにブロック発見!

しかも立て続けに2つもw
その後も結構な勢いで発見してしまったのである(汗)難易度が低いお陰ですねw
Rplantの方とでフォークが起きているんですね

ソース拝見

debug.logを確認するとエラーが吐き出されているようだ(3/28時点では無くなっていた)

2024-03-26T14:51:44Z ERROR: ContextualCheckBlockHeader : incorrect proof of work (DGW pre-fork) - 0.020492 0.020492 0.000000 at 12096
2024-03-26T14:51:44Z ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 000000006867cd55f90aa0c02b859178607463d5b819003e9da94fdab06be47d, bad-diffbits

ソースで言うと、validation.cpp のAcceptBlockHeader 内です

if (!ContextualCheckBlockHeader(block, state, *this, chainparams, pindexPrev, GetAdjustedTime()))
    return error("%s: Consensus::ContextualCheckBlockHeader: %s, %s", __func__, hash.ToString(), state.ToString());

さらには、
ContextualCheckBlockHeader内にある

    // Check proof of work
    const Consensus::Params& consensusParams = params.GetConsensus();
    if(Params().NetworkIDString() == CBaseChainParams::MAIN && nHeight <= 68589){
        // architecture issues with DGW v1 and v2)
        unsigned int nBitsNext = GetNextWorkRequired(pindexPrev, &block, consensusParams);
        double n1 = ConvertBitsToDouble(block.nBits);
        double n2 = ConvertBitsToDouble(nBitsNext);

        if (abs(n1-n2) > n1*0.5) {
            LogPrintf("ERROR: %s : incorrect proof of work (DGW pre-fork) - %f %f %f at %d\n", __func__, abs(n1-n2), n1, n2, nHeight);
            return state.Invalid(BlockValidationResult::BLOCK_INVALID_HEADER, "bad-diffbits");
        }
    } else {
        if (block.nBits != GetNextWorkRequired(pindexPrev, &block, consensusParams))
            return state.Invalid(BlockValidationResult::BLOCK_INVALID_HEADER, "bad-diffbits", strprintf("incorrect proof of work at %d", nHeight));
    }

この部分でしょうか
n1 = 0.020492
n2 = 0.000000
だから、条件にマッチしてエラーか。

結局 Rplantの方は夜中に止めて、正しいチェーンに戻ったようだった
残念ながら、その間にマイニングしたものは、支払われた形跡はあるが、認められないトランザクションになっているw
tx hash:b89fa43da64024c897117af41cc1da6f368f5bb89778e37717c8019738aa9814

とりあえず、ソロマイニングで稼げたのは嬉しい誤算ですが、XeggeXにあったUNFYはUSDTに変えてしまった(汗)安くなったら買い戻そうか

エクスプローラーのNetwork Peers を見ると、3/27時点でまだ半数以上が 1.0.0 という不具合バージョンが残っているみたい
1.0.4がまだまだ少ない、大丈夫か!?

どこを修正したかは、こちらから確認できますね
https://github.com/unifyroom/unifycoin/compare/v1.0.3…v1.0.4

それでは、また次回お会いしましょう!

コメント