Bitcoin Forum
April 19, 2024, 02:59:52 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Pushing data to CScript  (Read 284 times)
myquidproquo (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
September 02, 2017, 08:54:54 PM
 #1

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.
1713495592
Hero Member
*
Offline Offline

Posts: 1713495592

View Profile Personal Message (Offline)

Ignore
1713495592
Reply with quote  #2

1713495592
Report to moderator
1713495592
Hero Member
*
Offline Offline

Posts: 1713495592

View Profile Personal Message (Offline)

Ignore
1713495592
Reply with quote  #2

1713495592
Report to moderator
"There should not be any signed int. If you've found a signed int somewhere, please tell me (within the next 25 years please) and I'll change it to unsigned int." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
myquidproquo (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
September 02, 2017, 10:15:37 PM
 #2

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.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!