Beispiel #1
0
        public byte[] CreateOutputFromPublicKeyHash(byte[] publicKeyHash)
        {
            using (var outputScript = new ScriptBuilder())
            {
                outputScript.WriteOp(ScriptOp.OP_DUP);
                outputScript.WriteOp(ScriptOp.OP_HASH160);
                outputScript.WritePushData(publicKeyHash);
                outputScript.WriteOp(ScriptOp.OP_EQUALVERIFY);
                outputScript.WriteOp(ScriptOp.OP_CHECKSIG);

                return(outputScript.GetScript());
            }
        }
        public byte[] CreateOutputFromPublicKeyHash(byte[] publicKeyHash)
        {
            using (var outputScript = new ScriptBuilder())
            {
                outputScript.WriteOp(ScriptOp.OP_DUP);
                outputScript.WriteOp(ScriptOp.OP_HASH160);
                outputScript.WritePushData(publicKeyHash);
                outputScript.WriteOp(ScriptOp.OP_EQUALVERIFY);
                outputScript.WriteOp(ScriptOp.OP_CHECKSIG);

                return outputScript.GetScript();
            }
        }
        public byte[] CreatePublicKeyScript(byte[] publicKey)
        {
            var publicKeyHash = RIPEMD160Static.ComputeHash(SHA256Static.ComputeHash(publicKey));

            using (var publicKeyScript = new ScriptBuilder())
            {
                publicKeyScript.WriteOp(ScriptOp.OP_DUP);
                publicKeyScript.WriteOp(ScriptOp.OP_HASH160);
                publicKeyScript.WritePushData(publicKeyHash);
                publicKeyScript.WriteOp(ScriptOp.OP_EQUALVERIFY);
                publicKeyScript.WriteOp(ScriptOp.OP_CHECKSIG);

                //Debug.WriteLine("Public Script: {0}".Format2(publicKeyScript.GetScript().ToHexDataString()));

                return(publicKeyScript.GetScript());
            }
        }
        public byte[] CreatePublicKeyScript(byte[] publicKey)
        {
            var publicKeyHash = RIPEMD160Static.ComputeHash(SHA256Static.ComputeHash(publicKey));

            using (var publicKeyScript = new ScriptBuilder())
            {
                publicKeyScript.WriteOp(ScriptOp.OP_DUP);
                publicKeyScript.WriteOp(ScriptOp.OP_HASH160);
                publicKeyScript.WritePushData(publicKeyHash);
                publicKeyScript.WriteOp(ScriptOp.OP_EQUALVERIFY);
                publicKeyScript.WriteOp(ScriptOp.OP_CHECKSIG);

                //Debug.WriteLine("Public Script: {0}".Format2(publicKeyScript.GetScript().ToHexDataString()));

                return publicKeyScript.GetScript();
            }
        }
        public byte[] CreateOutput(byte[] publicKey)
        {
            using (var outputScript = new ScriptBuilder())
            {
                outputScript.WritePushData(publicKey);
                outputScript.WriteOp(ScriptOp.OP_CHECKSIG);

                return(outputScript.GetScript());
            }
        }
Beispiel #6
0
        private ImmutableArray<byte> GetPushInt64Script(long value)
        {
            var script = new ScriptBuilder();

            // push 0 onto the stack using OP_0
            if (value == 0)
            {
                script.WriteOp(ScriptOp.OP_0);
            }
            // push -1 onto the stack using OP_1NEGATE
            else if (value == -1)
            {
                script.WriteOp(ScriptOp.OP_1NEGATE);
            }
            // push 1-16 onto the stack using OP_1 to OP_16
            else if (value >= 1 && value <= 16)
            {
                script.WriteOp((ScriptOp)(value + ((long)ScriptOp.OP_1 - 1)));
            }
            else
            {
                var valueBytes = SerializeScriptValue(value);
                script.WritePushData(valueBytes);
            }

            return script.GetScript().ToImmutableArray();
        }