2017-11-23 10 views
0

ethereum yellowpaper에서 seedhash 생성에 대해 높이가 30000보다 작 으면 seedhash S = keccak256 ({0} 32)임을 알게되었습니다. 설명 :ethereum에서 올바른 씨앗 껍질을 만들려면 어떻게해야합니까?

시드 해시입니다. 시드 해시는 모든 신기원마다 다릅니다. 첫 번째 신기원은 일련의 32 바이트 0의 Keccak-256 해시입니다. 격년마다 항상 이전 시드 해시의 Keccak-256 해시입니다. 파이썬 코드에서,이 같은

하지만, :
def get_seedhash(block): 
    s = '\x00' * 32 
    for i in range(block.number // EPOCH_LENGTH): 
     s = serialize_hash(sha3_256(s)) 
    return s 

그리고 이동 - 에테 리움에서

코드는 다음과 같습니다 그래서

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 
} 

, 그것은 노란색 사이의 약간 다른 것 같다 종이와 코드. 코드에서 높이가 30000보다 작 으면 seedHash는 {0} 32를 반환합니다. 나는이 문제의 퍼즐에있다. 누구든지 도와 주셔서 감사합니다!

답변

0

죄송합니다. 답변을 알고 싶으면 stackexchange에서 같은 질문을 제출했습니다. click을 입력하십시오.