Как узнать требования по трате выходного скрипта?

Как узнать требования для проведения выходного скрипта?

Вы расшифровываете хэш?

Вопрос не очень точен, может быть, немного справочной информации здесь: bitcoin.stackexchange.com/questions/69062/… и, конечно же, в книге Андреаса «Mastering Bitcoin».

Ответы (1)

Я предполагаю, что вы говорите здесь об адресах P2SH, поскольку это действительно единственный раз, когда это имеет значение.

Для стандартных адресов P2SH вы не можете найти требования к расходам, просто взглянув на адрес. В качестве примера рассмотрим 3DzSVk4veMCkNbNT9CdETeE26uWxmNbBnD из недавнего блока.

Выходной скрипт этого адреса a91486ed17bfa7bd80cf87cf7e80abd9289079b78c5b87. Одно только это равнозначно HASH160 PUSHDATA(20)[86ed17bfa7bd80cf87cf7e80abd9289079b78c5b] EQUAL. Это означает, что для того, чтобы потратить транзакцию, вам нужно предоставить некоторый ввод, который после запуска через HASH160 равен 86ed17bfa7bd80cf87cf7e80abd9289079b78c5b.

Это общий формат для любого сценария вывода P2SH. Чтобы на самом деле узнать, что это за скрипт, вам нужен скрипт выкупа, который можно найти в вашем кошельке. Если адрес не принадлежит вам, сценарий выкупа раскрывается при первом использовании вывода на этот адрес.

Глядя на этот tx для вышеуказанного адреса, мы можем найти сценарий погашения как 5221038934160de8ad1dd529329f5bf51e3086cc0f6d19e10fb4120385f23d871c0c1d21021659435e23e3891d39ec2b0266b3c14a68cb4e45adb8543f31508310c98722d952ae(последний толчок в сценарии для ввода).

Запуск приведенного выше redeemscript с помощью decodescriptкоманды дает нам:

2 038934160de8ad1dd529329f5bf51e3086cc0f6d19e10fb4120385f23d871c0c1d 021659435e23e3891d39ec2b0266b3c14a68cb4e45adb8543f31508310c98722d9 2 OP_CHECKMULTISIG

Это идентифицирует сценарий как мультиподпись 2 из 2.

Это вполне могла быть любая другая форма сценария, такая как мультиподпись 2 из 3, или вообще не мультиподпись. Это может быть даже адрес segwit, завернутый в адрес p2sh. Однако, просто взглянув на адрес, нельзя определить тип скрипта. У вас должен быть сценарий погашения, чтобы определить требования к расходам.