2017-11-23 6 views
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を返します。 私はこの問題のパズルにいます。 誰もが私を助けてくれてありがとう!

答えて

0

申し訳ありませんが、答えを知りたい場合は、clickを入力してください。

関連する問題