Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: esuncloud on July 27, 2013, 09:41:33 PM



Title: What's the structure of script
Post by: esuncloud on July 27, 2013, 09:41:33 PM
I am working on the fork of p2pool to a new coin, and it seems that the donation script in the original could only accept BTC, etc.
How to change this script to a new address? It looks like something below:
DONATION_SCRIPT = '51210241b8aba0994f320a8b438c627dbf31fbdd7dc722dd8418d829d67a9c6e4fd69021036fbd9 d0a34a569f10b0431c8aeecf74ad796b99838b7272ef35ded130a794f9b52ae'.decode('hex')
I dig for a while, and could see that DONATION_SCRIPT[2:35] is pubkey of donation address, but what's the rest of them?
Any comments will be appreciated, thanks a lot.


Title: Re: What's the structure of script
Post by: esuncloud on July 28, 2013, 04:00:56 AM
bump. Thanks.


Title: Re: What's the structure of script
Post by: etotheipi on July 28, 2013, 05:09:58 AM
Using armoryengine.py:

Code:
>>> from armoryengine import *
>>> opList = convertScriptToOpStrings(hex_to_binary('51210241b8aba0994f320a8b438c627dbf31fbdd7dc722dd8418d829d67a9c6e4fd69021036fbd9d0a34a569f10b0431c8aeecf74ad796b99838b7272ef35ded130a794f9b52ae'))
>>> for op in opList:
...     print op
...

OP_1
[PUSHDATA -- 33 BYTES:]
0241b8aba0994f320a8b438c627dbf31fbdd7dc722dd8418d829d67a9c6e4fd690
[PUSHDATA -- 33 BYTES:]
036fbd9d0a34a569f10b0431c8aeecf74ad796b99838b7272ef35ded130a794f9b
OP_2
OP_CHECKMULTISIG

So, it's a 1-of-2 multisig script.  There are two 33-byte public keys, and you need a signature from either one of them to move those funds.