public void ComputeHash(bool useScrypt) { MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); bw.Write(mVersion); bw.Write(mPrevBlock); bw.Write(mMerkleRoot); bw.Write(mTimestamp); bw.Write(mDifficultyBits); bw.Write(mNOnce); byte[] data = ms.ToArray(); bw.Close(); if (useScrypt) { MinerLib_cs.Work work = new MinerLib_cs.Work(); Buffer.BlockCopy(data, 0, work.data, 0, 80); for (int i = 0; i < 20; i++) { work.data[i] = Utils.Byteswap(work.data[i]); } MinerLib_cs.Scrypt scrypt = new MinerLib_cs.Scrypt(work); mHash = scrypt.GetHash(); } else { // SHA 256 mHash = Utils.GenerateHash(data); } }
public void ComputeHash(bool useScrypt) { MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); bw.Write(mVersion); bw.Write(mPrevBlock); bw.Write(mMerkleRoot); bw.Write(mTimestamp); bw.Write(mDifficultyBits); bw.Write(mNOnce); byte[] data = ms.ToArray(); bw.Close(); if (useScrypt) { MinerLib_cs.Work work = new MinerLib_cs.Work(); Buffer.BlockCopy(data, 0, work.data, 0, 80); for (int i = 0; i < 20; i++) work.data[i] = Utils.Byteswap(work.data[i]); MinerLib_cs.Scrypt scrypt = new MinerLib_cs.Scrypt(work); mHash = scrypt.GetHash(); } else { // SHA 256 mHash = Utils.GenerateHash(data); } }