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);
        }
Exemple #2
0
        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());
        }