public static void SignTransaction(ref Transaction trs, string secret) { var address = CryptoHelper.GetAddress(secret); var keys = address.KeyPair; trs.SenderId = address.IdString; trs.SenderPublicKey = keys.PublicKey.ToHex().ToLower(); var trsBytes = trs.GetBytes(); var hash = CryptoHelper.Sha256(trsBytes); var signature = CryptoHelper.Sign(hash, keys.PrivateKey); trs.Signature = signature.ToHex().ToLower(); trsBytes = trs.GetBytes(); trs.Id = CryptoHelper.GetId(trsBytes); }
public static void SignTransaction(ref Transaction trs, string secret, string secondSecret = "") { var address = CryptoHelper.GetAddress(secret); var keyPair = address.KeyPair; trs.SenderId = address.IdString; trs.SenderPublicKey = keyPair.PublicKey.ToHex().ToLower(); var hash = CryptoHelper.Sha256(trs.GetBytes()); var signature = CryptoHelper.Sign(hash, keyPair.PrivateKey); trs.Signature = signature.ToHex().ToLower(); if (!string.IsNullOrWhiteSpace(secondSecret)) { signature = CryptoHelper.Sign(hash, CryptoHelper.GetKeyPair(secondSecret).PrivateKey); trs.SignSignature = signature.ToHex().ToLower(); } trs.Id = CryptoHelper.GetId(trs.GetBytes()); }