指定されたハッシュがブロック、ブロックの高さまたはトランザクションを表すかどうかを判断できます。Bitcoinブロックとトランザクションの正規表現
私はブロックが^ [0-9] + $のようなものだと知っています。^ 0 $は起源ブロックなので有効です。 私は今、私は正規表現になってしまった私は、トランザクションが64
の長さとbase58である知っているブロックは、64の長さとbase58で知っていると、通常は0 で始まる:
- ブロックの高さ:^(0 | [1-9] [0-9] *)$
- ブロックハッシュ:^ 0 + [BASE58] {63} $
- トランザクションハッシュ:^ [BASE58] {64} $
まだいくつかのトランザクションを検出しました先頭に0があるので、0から始まるブロックのみを持つBitcoinプロトコルの一部ではないと思います。 難易度が1のregtestローカル(偽)ネットワークも実行し、すべてのブロックが0で始まらない。
ブロックハッシュとトランザクションハッシュを区別するために、おそらくregexを使用する信頼できる方法はありますか?
ビットコインについては考えていますが、おそらくそれ以外の場合は、起動時に複数のゼロを可能にし、それでもその後63個のbase58文字を持っている、あなたのブロックのハッシュ正規表現に '+'を削除する必要があります。 –
Bitcoinの難しさは、先頭にゼロが付いたハッシュを見つけることによってブロックを強制的にマイナスにするので、意図的です。しかし、この正規表現は私が暴露した問題につながります。 – shkschneider
トランザクションとブロックを区別する個々のハッシュのパターンでない場合は、順序でなければなりません。どのようにそれらを(視覚的に)区別しますか? – wp78de