Re: (context post by Gavin Andresen)

より良い修正ができるまで…ほんの少しのテストの後、これでうまくいくようだ: Code:--- a/main.h +++ b/main.h @@ -473,8 +473,12 @@ public:

     // Check for negative values
     foreach(const CTxOut& txout, vout)
  • { if (txout.nValue < 0) return error(“CTransaction::CheckTransaction() : txout.nValue negative”);

  • if (txout.nValue > 21000000*COIN)

  • return error(“CTransaction::CheckTransaction() : txout.nValue over-max”);

  • }

       if (IsCoinBase())
       {

@@ -520,6 +524,8 @@ public: int64 nValueOut = 0; foreach(const CTxOut& txout, vout) {

  • if (txout.nValue > 21000000*COIN)
  • continue; // ignore over-max-value… if (txout.nValue < 0) throw runtime_error(“CTransaction::GetValueOut() : negative value”); nValueOut += txout.nValue;

不正なブロック以前のブロックチェーンの部分を再ダウンロードする必要がある — blkindex.datとblk0001.datファイルを削除すること。私はknightmbのブロックチェーンスナップショットから始めた。