0
エターハム黄色の紙では、シードハッシュの作成について、私は、高さが30000未満であるとき、シードハッシュS = keccak256({0} 32)であることを発見した。説明は:ethereumで正しいシードハッシュを作成するにはどうすればよいですか?
シードハッシュです。シードハッシュは、各エポックごとに異なります。最初のエポックでは、一連の32バイトのゼロのKeccak-256ハッシュです。他のすべてのエポックでは、常に以前のシードハッシュのKeccak-256ハッシュです。
しかし、Pythonのコードでは、次のように:
def get_seedhash(block):
s = '\x00' * 32
for i in range(block.number // EPOCH_LENGTH):
s = serialize_hash(sha3_256(s))
return s
し、Go-イーサリアムで、コードは次のとおりです。
func seedHash(block uint64) []byte {
seed := make([]byte, 32)
if block < epochLength {
return seed
}
keccak256 := makeHasher(sha3.NewKeccak256())
for i := 0; i < int(block/epochLength); i++ {
keccak256(seed, seed)
}
return seed
}
だから、それは黄色の間にその一部が異なるようです紙とコード。コードでは、heightが30000未満の場合、seedHashは{0} 32を返します。 私はこの問題のパズルにいます。 誰もが私を助けてくれてありがとう!