Basic consensus implementation (#45)

Consensus for user connections, user inputs, contract outputs and time.
This commit is contained in:
Asanka Indrajith
2019-10-26 11:46:32 -04:00
committed by GitHub
parent b4b9132d18
commit d6acee4e09
28 changed files with 1464 additions and 487 deletions

View File

@@ -132,25 +132,6 @@ int verify_hex(std::string_view msg, std::string_view sighex, std::string_view p
decoded_pubkey + 1); // +1 to skip prefix byte.
}
/**
* Generate SHA 512 hash for message prepend with prefix before hashing.
*
* @param msg message string.
* @param prefix prefix char array.
* @param char_length length of prefix char array.
* @return SHA 512 hash.
*/
std::string sha_512_hash(const std::string &msg, const char *prefix, size_t char_length)
{
std::string payload;
payload.reserve(char_length + msg.size());
payload.append(prefix);
payload.append(msg);
unsigned char hashchars[crypto_hash_sha512_BYTES];
crypto_hash_sha512(hashchars, (unsigned char *)payload.data(), payload.length());
return std::string((char *)hashchars, crypto_hash_sha512_BYTES);
}
/**
* Generate SHA 512 hash for message prepend with prefix before hashing.
*