Пишите P2SH скрипт, получаете его адрес, отправляете туда. Скрипт например такой
0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c 4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 OP_EQUALVERIFY
При чем тут P2SH скрипт и зачем получать его адрес?
Кстати, что такое адрес скрипта - я не понял.
В общем, задурили вы человеку голову.
Тем более вариант push( pub ) OP_EQUALVERIFY не пройдет в mainnet - это нестандартный
выход, его майнеры не включат в блок, а если включат - то стыбзить бабло сможет любой человек.
Обычно в выходном скрипте пишут
OP_DUP OP_HASH160 push( hash ) OP_EQUALVERIFY OP_CHECKSIG
Это так называемый P2PKH, который вы не хотите.
Вам же надо написать
push( pub ) OP_CHECKSIGПолучится P2PK
Про то, что это можно завернуть в P2SH или в несколько вариантов сегвита автор темы не спрашивал.
Другое дело - а нафига так извращаться? Если у вас есть публичный ключ адресата - то из публичного
ключа можно получить хэш и отправить P2PKH-выход. Наоборот - в общем случае нельзя.
Не очень понятны резоны так делать - клиент у получателя по идее должен понять, что ему бабки
прислали, если пришлют именно P2PK, если сделан по канонам. Но если точно не уверен - я бы не стал
рисковать.
Или вопрос - как это сделать с помощью клиента, например BitcoinCore? Какие для этого кнопки нажимать?
Я никогда не пробовал. Могу пошаманить, но не совсем уверен, что это сейчас легко делается.