Описание тега go-sms
Вам нужно всего лишь использовать OP_PUSHDATA1 если вы пытаетесь толкать более 75 байт данных в стек.
Для толкания меньшего размера значений в стек, вы можете использовать опкоды 0x01 до 0x4b, чтобы указать число байтов толкают. Таким образом, чтобы подтолкнуть один байт значение 210 (0xD2) в стек, вы должны использовать последовательность байт 0х01 0xd2
.
Чтобы сдвинуть 16-разрядное число, например 1000 в стек, вы должны использовать последовательность байт 0x02 0x03 0xe8
. Обратите внимание, что используется прямой порядок байтов является. Вы можете сделать точно так же на 24-разрядное число, или 32-разрядное число.
Минимальный размер должен всегда использоваться при нажатии значение - значение наиболее значимый байт в стек значение не должно быть равно нулю.
Помещенное в стек значение внутренне будет нулевой продлен представляют собой 32-разрядное целое число. Все числовые операции в Bitcoin скрипт ограничен 32-битных чисел. Результат, возвращаемый числовые операции могут рассматриваться как 64-разрядное значение, но значения, которые переполняют 32-разрядное целое число диапазон не может быть использован в последующие числовые операции.
На OP_PUSHDATA1, это используется для толкания произвольные двоичные данные в стек, которые могут быть использованы в качестве аргументов для таких операций, как OP_SHA256. Это работает при наличии первого байта последовательности OP_PUSHDATA1, второй байт, длина вдавливаемых данных, а остальные байты-содержание. Для сведения более чем 255 байт, OP_PUSHDATA2 используется, где второй и третий байт последовательности обозначают длину, и так далее. Минимальный размер правило распространяется на все виды толкает, в том числе, что вы не должны пытаться засунуть в один байт <=16 в стек, используя 2 байта, но вместо этого следует использовать OP_N однобайтные коды.