В случае, если вы хотите, чтобы попытаться создать сделку, не читая книгу, выполните следующие действия.
Создать новый адрес в Bitcoin Основного кошелька
Отправить BTC сделку 0,0001 на новый адрес.
Подождите, пока сделка для подтверждения.
В консоли, введите "listunspent"
Найти выход, связанный с адресом вы только что создали. Вы будете использовать этот выход платить за операции по сделке, которую вы создаете. "TXID" является SHA256 хэш сделки, которую вы использовали для отправки 0.0001 BTC по адресу. "Vout" является индексом BTC продукции в этой транзакции 0,0001.
В консоли, используйте createrawtransaction создать шаблон для окончательной сделки. В следующем примере заменить YOURINPUTTXID с TXID БТД выход 0,0001, который вы нашли с помощью команды listunspent. В следующем примере заменить YOURVOUT со значением Vout БТД выход 0,0001, который вы нашли с помощью команды listunspent. В следующем примере заменить ANYVALIDADDRESS любого действительного адреса Bitcoin, это не имеет значения, какой адреса, так как эта часть сделки будет в конечном счете заменена SHA512 хэша вместо.
createrawtransaction [{\"TXID \": \"YOURINPUTTXID \"\"Vout \": YOURVOUT}] {\"ANYVALIDADDRESS \": 0.00010000}
Вы получите строку примерно 170 шестнадцатеричных charcters (около 85 байт). Это беззнаковое сырые транзакции. Не подписать и отправить эту сделку еще. Если вы это сделаете, вы будете просто посылать 0.0001 BTC на адрес, который вы использовали для ANYVALIDADDRESS без платы за транзакцию.
Мы не будем менять первые 47 байт (94 символов) на всех.
Первые 46 байт (92 символов) определяют вход, который используется для финансирования сделки. Вы должны найти следующее:
Первый 4 байта (8 символов) сырой сделки является номером версии транзакции. Значение этих 4 байта должны быть 01000000. Если это не то, что вы сделали что-то неправильно.
Следующий 1 байт (2 символа) является количество входов в транзакции. Так как мы создали сделку только один 0,00001 BTC ввода, значение этого байта должно быть 01. Если это не то, что вы сделали что-то неправильно.
Следующие 32 байт (64 символов) будет YOURINPUTTXID с байтами в обратном порядке.
Следующие 4 байта (8 символов), являются значение YOURVOUT с байтами в обратном порядке.
Следующие байты (2 символа) будут длиной подписи. Поскольку эта сделка еще не подписана, текущая длина подписи 00
Следующие 4 байта (8 символов) являются порядковым номером. Значение этих 4 байта должны быть FFFFFFFF. Если это не то, что вы сделали что-то неправильно.
Следующие байты (2 символа) сразу после FFFFFFFF есть число выходов. Так как мы создали сделки шаблона только один выход, то значение этого байта должно быть 01. Если это не то, что вы сделали что-то неправильно.
Следующие 8 байт (16 символов) является значением в satoshis направляется ANYVALIDADDRESS с байтов в обратном порядке. Так как мы создали шаблон отправки 0.0001 BTC по адресу, значение этих 8 байт (16 символов) должно быть 1027000000000000. Если это не то, что вы сделали что-то неправильно.
Изменение значения этих 8 байт в 0000000000000000. Если вы не сделаете этот шаг, вы все еще будете иметь транзакцию, вы можете транслировать, но он не будет платить любую плату за транзакцию (так что это может занять очень много времени, чтобы подтвердить, и он будет постоянно запирать 0.0001 BTC в выходе, который никогда не будет расходуемого.
Забегая вперед на мгновение, последние 4 байта (8 символов) являются Locktime по сделке. Это должно быть все нули. Если это не то, что вы сделали что-то неправильно. Мы не будем менять эти 4 байта (8 символов) либо. Мы просто оставить их как нули.
Все, что между значением посылается и Locktime список выходов сделки. В этом случае мы создали только один выход.
Вам будет заменить этот вывод с помощью сценария, который хранит ваш SHA512 хэш.
Удалить список вывода из этого шаблона сырой сделки (в том числе 7689, что он начнет с и 88ac, что она закончится). Обратите внимание, что если список вывода, что вы удаляете не начинается с 7689 и заканчивается 88ac, то вы сделали что-то не так.
Вместо байтов, которые вы только что удалили, вы будете первым разместить 3 байта (6 символов) со значением 426a40Это первый байт (42) является шестнадцатеричным представлением длины сценария, который вы добавляете.
Это следующие байты (6а) является кодом OP_RETURN байт. Это указывает сети Bitcoin, что этот вывод является данными, и что она не расходуемого.
Это третьи байты (40) представляет собой шестнадцатеричное представление длины данных, которые вы хранящие в сделке (40 представляет собой шестнадцатеричное представление десятичного числа 64 и есть 64 байта в значении SHA512).
После этого вы будете ставить 64 байт (128 символов) вашего SHA512 хэш.
Locktime (00000000) должен быть после вашего SHA512 хэша
После того, как вы построили эту сделку, вы можете разместить его здесь (или отправить его мне в ПМ) и других (или себя, если вы отправить его через ПМ) можно проверить для вас, что вы не сделали ни одной ошибки.
Если все правильно, то вы будете иметь возможность использовать signrawtransaction подписать сделку и sendrawtransaction транслировать его в сеть.