ブロック数マイナス 1
ステータスバーに表示されるブロック数を 1 減らしたいと思う。プログラムを最初にロードした時、1 ではなく 0 ブロックと表示されるようになる: 「0 connections 0 blocks 0 transactions」
これまで常に nBestHeight + 1 だった。ジェネシスブロックを数えていたためだ。技術的には、はい、ジェネシスブロックはブロックだ。最初から持っているハードコードされたブロックだ。ジェネシスブロックを持たないことはできない。他のコインを測定する基準コインのようなものと考えてもよいだろう。人々が知りたいブロック数は、ダウンロードしたブロックの数だ。
主な利点は、ブロック数が現在の最良ブロックのブロック番号と等しくなることだ。ブロック数が 10 なら、持っている最も高いブロック番号は 10 だ。ブロック 10 を持っており、ブロック 11 は持っていないということだ。
ここで起きた混乱を軽減できるだろう:
kencauseyの投稿(2010年8月15日 14:45 UTC)[削除済み] Quote from: davidonpda on August 15, 2010, 11:31:37 PM
… すでにブロック 74638に達している。これはそのブロックが正常なものになったということか?
私自身もこの件で混乱があり、#bitcoin-dev で明確化してもらった:
不正なブロックは番号 74638 で、最後の正しいブロックは 74637 だった。番号は 0 から始まるので、クライアントに 74638 ブロックと表示されている場合、ブロック番号 74637 まで持っていることを意味し、それが最後の正しいブロックだ。
SVN rev 137 で対応した。
カウント方式を変更するのではなく、ブロックの個数ではなく単に最新のブロックを参照すればいいのではないか。
74741 blocks
ではなく
Latest block: 74740
そうすれば、カウント方式を変更する必要も、多くの人に考え方を調整させる必要もなくなる。
カウント方式を変更するのではなく、ブロックの個数ではなく単に最新のブロックを参照すればいいのではないか。
74741 blocks
ではなく
Latest block: 74740
そうすれば、カウント方式を変更する必要も、多くの人に考え方を調整させる必要もなくなる。
私の経験からすると、コミットされた変更は常に一部の人を他の人より満足させるものの、結局はみんな慣れるものだ。しかし、すでに入っている変更を巻き戻して、最初にその変更が提出された理由に対処するためにさらにもう一度変更を入れるのは、ただみんなを混乱させるだけだ。その証拠が、私がたった今書いたこの文章だ!
Latest block: 74740
だと、
0 connections 0 blocks 0 transactions
の代わりに
0 connections Latest block: 0 0 transactions
となってしまう。どう見てもおかしい。
サトシの説明の仕方が一番筋が通っていると思う。ジェネシスブロックは技術的にはブロックかもしれないが、チェーンの中では単なる参照点に過ぎない。 数字でいうゼロのようなものだ。ゼロはもちろんそれ自体が数字だが、何かを数える時には単なる参照点でしかない。まあ、少なくとも人間はそういう風に数える。 😛