Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: myquidproquo on September 02, 2017, 08:54:54 PM



Title: Pushing data to CScript
Post by: myquidproquo on September 02, 2017, 08:54:54 PM
Hi!

Just started learning Bitcoin Core code to better understand Bitcoin.
My C is a little bit rusty and I know just a little bit of C++ but I think I will pick it up fast as I progress.

I was thinking that the Bitcoin Script was a good place to start.
This is really basic so I hope I don't offend anyone.

What's the easiest way to push data (other than OP_CODES) to the CScript stack?

Code:
    CScript *cScript;
    opcodetype test;

    cScript = new CScript();
    *cScript << opcodetype::OP_HASH160;
   
    //Pushing 20 bytes
    *cScript << opcodetype::0x14
   
    //Need to push some address here but this is not the right way to do it...
    *cScript << "71ed53322d470bb96657deb786b94f97dd46fb15";
   
    *cScript << opcodetype::OP_EQUAL;


Thank you.


Title: Re: Pushing data to CScript
Post by: myquidproquo on September 02, 2017, 10:15:37 PM
I managed to do it. Found out about "utilsrencodings".

Code:
    CScript *cScript;
    opcodetype test;
    vector<unsigned char> addr = ParseHex("71ed53322d470bb96657deb786b94f97dd46fb15");

    cScript = new CScript();
    *cScript << opcodetype::OP_HASH160;
    *cScript << addr;
    *cScript << opcodetype::OP_EQUAL;
    printf("%d\n",cScript->IsPayToScriptHash());



Thanks.