Ejemplo n.º 1
0
        public JObject sendTxPlusSign(string neoCliJsonRPCUrl, string txScriptHex, string signHex, string publicKeyHex)
        {
            byte[] txScript = txScriptHex.HexString2Bytes();
            byte[] sign     = signHex.HexString2Bytes();
            byte[] pubkey   = publicKeyHex.HexString2Bytes();
            //byte[] prikey = privateKeyHex.HexToBytes();

            //byte[] sign = null;

            //sign = ThinNeo.Helper.Sign(txScript, prikey);

            //var pubkey = ThinNeo.Helper.GetPublicKeyFromPrivateKey(prikey);

            var addr = ThinNeo.Helper.GetAddressFromPublicKey(pubkey);

            ThinNeo.Transaction lastTran = new ThinNeo.Transaction();
            lastTran.Deserialize(new MemoryStream(txScript));
            lastTran.witnesses = null;
            lastTran.AddWitness(sign, pubkey, addr);

            string TxPlusSignStr = string.Empty;

            using (var ms = new System.IO.MemoryStream())
            {
                lastTran.Serialize(ms);
                TxPlusSignStr = ms.ToArray().ToHexString();
            }

            return(sendrawtransaction(neoCliJsonRPCUrl, TxPlusSignStr));
        }
Ejemplo n.º 2
0
        private void Button_Click_4(object sender, RoutedEventArgs e)
        {
            if (lastTran == null)
            {
                return;
            }
            byte[] sign = null;

            using (var ms = new System.IO.MemoryStream())
            {
                lastTran.SerializeUnsigned(ms);
                sign = ThinNeo.Helper.Sign(ms.ToArray(), prikey);
                ms.Close();
            }
            var pubkey = ThinNeo.Helper.GetPublicKeyFromPrivateKey(prikey);

            var addr = ThinNeo.Helper.GetAddressFromPublicKey(pubkey);

            lastTran.witnesses = null;
            lastTran.AddWitness(sign, pubkey, addr);
            using (var ms = new System.IO.MemoryStream())
            {
                lastTran.Serialize(ms);
                textTran.Text = ThinNeo.Helper.Bytes2HexString(ms.ToArray());
            }
        }
Ejemplo n.º 3
0
        private static string getTxSignHex(string txScriptHex, string signHex, string publicKeyHex)
        {
            byte[] txScript = txScriptHex.HexToBytes();
            var    sign     = signHex.HexToBytes();
            //byte[] prikey = privateKeyHex.HexToBytes();

            //var prikeyStr = ThinNeo.Helper.Bytes2HexString(prikey);

            //byte[] sign = null;

            //sign = ThinNeo.Helper.Sign(txScript, prikey);

            //var signStr = ThinNeo.Helper.Bytes2HexString(sign);

            //var pubkey = ThinNeo.Helper.GetPublicKeyFromPrivateKey(prikey);
            var pubkey = publicKeyHex.HexToBytes();
            var addr   = ThinNeo.Helper.GetAddressFromPublicKey(pubkey);

            ThinNeo.Transaction lastTran = new ThinNeo.Transaction();
            lastTran.Deserialize(new MemoryStream(txScriptHex.HexToBytes()));
            lastTran.witnesses = null;
            lastTran.AddWitness(sign, pubkey, addr);
            using (var ms = new System.IO.MemoryStream())
            {
                lastTran.Serialize(ms);
                return(ThinNeo.Helper.Bytes2HexString(ms.ToArray()));
            }
        }