バージョン0.3.13、アップグレードしてください
バージョン0.3.13が利用可能になった。0/未承認トランザクションに関する潜在的な問題を防ぐためにアップグレードしてほしい。注意:0.3.13は0/未承認トランザクションをまだ使用していない場合の問題を防ぐが、すでに使用してしまった場合は0.3.13.2が必要だ。
変更点:
- 1回の承認があるまで支払いをカウントまたは使用しない。
- 内部バージョン番号を312から31300に変更。
- -allowreceivebyipが指定された場合のみIPアドレスで送信されたトランザクションを受け入れる。
- DB_PRIVATE Berkeley DBフラグを廃止。
- 1セント未満の端数のお釣りで最後の1セントを送金する際の問題を修正。
- Linuxでの128ビット4-way SSE2の自動検出。
Gavin Andresen:
- 別のマシンからのJSON-RPC接続を受け入れるオプション -rpcallowip=。
- LinuxでのSIGTERMによるクリーンシャットダウン。
ダウンロード: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.13/
(Mac OSXビルドをしてくれたLaszloに感謝!)
注意: Linux 64ビット版のSSE2自動検出は、64ビットモードのAMDでは動作しない。代わりにこちらを試して、正しく動作するか知らせてほしい: http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-linux64.tar.gz
-4wayおよび-4way=0で手動でSSE2の使用を制御することもできる。
バージョン0.3.13.2(SVN rev 161)には、すでに0/未承認トランザクションがあり、それをすでに使用した可能性がある場合の改善が含まれている。Windows版のビルドはこちらだ: http://www.bitcoin.org/download/bitcoin-0.3.13.2-win32-setup.exe
Quote from: ShadowOfHarbringer on October 02, 2010, 01:00:07 PMいいですね。しかし、私のGentoo AMD 64版クライアントでは自動4way検出が機能していません。
まだ「-4way」スイッチを追加する必要がある。 言い忘れていたが、64ビットAMDでは検出がうまくいかないのではないかと疑っていた。信じがたいことだが、AMDは64ビットモードで異なるモデル番号を報告するのだ。
debug.logでCPUIDをgrepして、何が表示されるか教えてもらえないだろうか?(64ビットAMDをお持ちの他の方も)どのAMDチップを使っているか?
64ビットをサポートするすべてのAMDは、より良いSSE2ハードウェアも搭載しているか?
数人の方にこのスペシャルビルドを実行してもらえないだろうか?ダストスパムトランザクションを免除し、当面の0/未承認問題を解消する。通過させるブロックが1つあれば、以前のトランザクションを解消できる。このビルドでブロックを生成したら投稿してくれ。
これらはバイナリのみだ。Linux版は64ビットのみだ。 http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-win32.zip http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-linux64.tar.gz
SHA1 fb7c66270281ed058c570627cf7baff0bdc16e5d bitcoin-0.3.13.1-specialbuild-win32.zip SHA1 9fc44ea5f2109618073e2cfd887e2cc266eb31a9 bitcoin-0.3.13.1-specialbuild-linux64.tar.gz
Linux 64ビット版には、64ビットモードのAMD向けcpuid 4-way 128ビットSSE2自動検出の変更が含まれている。テストしてより良いかどうか確認してもらえると助かる。
Quote from: tcatm on October 03, 2010, 07:45:45 PM983 Mhash/sのマシンです。 本当ですか?それはどんなハードウェアですか?
diff -u old\main.cpp new\main.cpp
--- old\main.cpp Sun Oct 03 20:57:20 2010
+++ new\main.cpp Sun Oct 03 20:57:54 2010
@@ -2831,6 +2831,10 @@
bool fUseSSE2 = ((fIntel && nFamily * 10000 + nModel >= 60026) ||
(fAMD && nFamily * 10000 + nModel >= 160010));
+ // AMDは64ビットモードでより低いモデル番号を報告する
+ if (fAMD && sizeof(void*) > 4 && nFamily * 10000 + nModel >= 160004)
+ fUseSSE2 = true;
+
static bool fPrinted;
if (!fPrinted)
{
@@ -2989,6 +2993,17 @@
// ブロックサイズに基づくトランザクション手数料
int64 nMinFee = tx.GetMinFee(nBlockSize);
+ //////// 一時的なコード
+ if (nBlockSize < MAX_BLOCK_SIZE_GEN / 10 && GetWarnings("statusbar") == "")
+ {
+ if (nBestHeight < 91000)
+ nMinFee = 0;
+ if (nBestHeight < 100000 && nTxSize < 2000)
+ nMinFee = 0;
+ if (nBestHeight < 110000 && nBestHeight % 10 == 0)
+ nMinFee = 0;
+ }
+ //////// 一時的なコード
map<uint256, CTxIndex> mapTestPoolTmp(mapTestPool);
if (!tx.ConnectInputs(txdb, mapTestPoolTmp, CDiskTxPos(1,1,1), pindexPrev, nFees, false, true, nMinFee))
diff -u old\serialize.h new\serialize.h
--- old\serialize.h Sun Oct 03 20:57:45 2010
+++ new\serialize.h Sun Oct 03 20:57:54 2010
@@ -22,8 +22,8 @@
class CAutoFile;
static const unsigned int MAX_SIZE = 0x02000000;
-static const int VERSION = 31300;
-static const char* pszSubVer = "";
+static const int VERSION = 31301;
+static const char* pszSubVer = " test1"; Quote from: theymos on October 03, 2010, 08:09:51 PMArtForzはすでに手数料なしで実行しており、ネットワークのCPUパワーの20-30%を持っています。ただし、元の壊れたトランザクションを送信した人はウォレットを削除しており、ネットワークはこれらの過去のトランザクションを忘れているため、これに基づくトランザクションは承認されません。 トランザクションは、ノードがブロックチェーンに戻るトランザクションのパスを持つまで、0/未承認として受け入れられたり表示されたりしない。
ウォレット内のトランザクションには、ブロックチェーンに到達するために必要な未記録のトランザクションもすべて一緒にバンドルされている。0/未承認として表示されるトランザクションがある場合、それが依存する以前の未記録のトランザクションもすべて持っており、自分のトランザクションを再ブロードキャストする際にそれらも再ブロードキャストする。
手数料なしのブロックがすでに生成されたのに解決しない場合は、何が問題なのか調べる必要がある。あまり使われないコードの部分だ。それらに依存するトランザクションを持つ全員のウォレットに記録されているはずだ。
Quote from: theymos on October 03, 2010, 08:09:51 PM元の壊れたトランザクションを送信した人はウォレットを削除しました はぁ…ウォレットを別の場所に移動して万が一のために古いコピーを保管しておくのではなく、なぜ削除するのだろうか?ウォレットは決して削除すべきではない。
Quote from: tcatm on October 03, 2010, 08:10:47 PM実行中です。3時間以内にブロックを見つけるはずです。 再ブロードキャストされたトランザクションを収集するのに時間がかかるかもしれない。より多くのノードをリッスンできるよう、インバウンド接続を受け入れられるようにすると助けになる。3時間でブロックを見つけたとしても、少なくとも数日間は継続して実行し続けてくれ。
ShadowOfHarbringer、あなたのは-4wayの方が速いか?
もしそうなら、64ビットをサポートするすべてのAMDが128ビットSSE2を搭載していると考えている。
ここに投稿したスペシャルビルド版はモデル4以上を探す。あなたのが-4wayで速いなら、64ビット対応のすべてのAMDで常にSSE2を使用するように変更すべきだろう。