5

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 = '51210241b8aba0994f320a8b438c627dbf31fbdd7dc722dd8418d829d67a9c6e4fd69021036fbd9d0a34a569f10b0431c8aeecf74ad796b99838b7272ef35ded130a794f9b52ae'.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.

Nick ODell
  • 29,184
  • 11
  • 69
  • 129
user14269
  • 51
  • 1

1 Answers1

1

It is a multisignature 2-of-2 address.

I have annotated the script:

scriptPubKey length: 51
Push the following 33 bytes onto the stack: 21
Compressed public key: 0241b8aba0994f320a8b438c627dbf31fbdd7dc722dd8418d829d67a9c6e4fd690
Push the following 33 bytes onto the stack: 21
Compressed public key: 036fbd9d0a34a569f10b0431c8aeecf74ad796b99838b7272ef35ded130a794f9b
OP_2: 52
OP_CHECKMULTISIG: ae

If you change DONATION_SCRIPT[2:35] to your own compressed public key, and DONATION_SCRIPT[36:69] to another compressed public key, that should work.

Nick ODell
  • 29,184
  • 11
  • 69
  • 129