Что такое биткоины в мясницком ряду
Теперь вы готовы создавать необработанные транзакции Биткойна. Это позволяет вам отправлять деньги, но оформлять транзакции так точно. Как вы хотите. Этот первый раздел фокусируется на простой транзакции с одним входом и одним выходом. Такого рода транзакции на самом деле не так уж полезны. Потому что вы редко захотите отправить все свои деньги одному человеку (если только вы на самом деле просто не пересылаете их дальше, например. Если вы перемещаете вещи из одного кошелька в другой). Таким образом, мы не называем этот раздел способом отправки денег. Это просто основополагающий шаг к фактической отправке денег с необработанной транзакцией.
Понять биткойн транзакцию
Прежде чем погрузиться в создание необработанных транзакций. Вы должны убедиться. Что понимаете. Как работает биткойн-транзакция. Все дело в UTXOs.
Что такое UTXO? Когда вы получаете наличные деньги в свой биткоин-кошелек. Они появляются как отдельная транзакция. Каждая из этих транзакций называется неизрасходованным выводом транзакции (UTXO). Не имеет значения. Были ли различные платежи сделаны на один и тот же адрес или на несколько адресов: каждая входящая транзакция остается отдельной в вашем кошельке как UTXO.
Когда вы создаете новую исходящую транзакцию. Вы собираете вместе один или несколько UTXOs. Каждый из которых представляет собой каплю денег. Которую вы получили.
Вы используете их в качестве входных данных для новой транзакции. Вместе их сумма должна равняться тому. Что вы хотите потратить или больше. Затем вы генерируете один или несколько выходов, которые дают деньги. Представленные входами. Одному или нескольким людям. Это создает новые UTXOs для получателей. Которые затем могут использовать их для финансирования будущих транзакций.
Вот в чем фокус: все UTXOs. Которые вы собираете, тратятся в полном объеме!
Это означает. Что если вы хотите отправить только часть денег в UTXO кому-то другому. То вам также нужно сгенерировать дополнительный вывод. Который отправит остальное обратно вам! На данный момент мы не будем беспокоиться об этом. Но использование адреса изменения будет иметь жизненно важное значение при переходе от теории этой главы к более практическим транзакциям.
Перечислите Свои Неизрасходованные Транзакции
Чтобы создать новую необработанную транзакцию. Вы должны знать. Какие UTXOs у вас есть под рукой. Чтобы потратить. Вы можете определить эту информацию с bitcoin-cli listunspent помощью команды:
Этот список показывает три различных UTXOs, стоимостью .0001, .0005 и .00022 BTC. Обратите внимание. Что каждый из них имеет свой собственный отдельный txid и остается отдельным в кошельке. Даже последние два. Которые были отправлены на один и тот же адрес.
Когда вы хотите провести UTXO. Недостаточно просто знать идентификатор транзакции. Это потому. Что каждая транзакция может иметь несколько выходов! Помнишь тот первый кусок денег. Который нам прислал кран? В результате сделки часть денег досталась нам, а часть-кому-то другому. The txid относится к общей транзакции, в то время как a vout говорит. Какой из нескольких выходов вы получили. В этом списке каждая из этих транзакций является 0 vout -й по сравнению с предыдущей транзакцией, но это не обязательно так.
Итак, txid+vout=UTXO. Это будет основой любой необработанной транзакции.
Напишите необработанную транзакцию с одним выходом
Теперь вы готовы написать простую. Примерную необработанную транзакцию. Которая показывает. Как отправить всю UTXO другой стороне. Как уже отмечалось, это не обязательно очень реалистичный реальный случай.
Предупреждение: очень легко потерять деньги с необработанной транзакцией. Считайте, что все инструкции по отправке биткойнов через необработанные транзакции оченьи очень опасны. Всякий раз, когда вы действительно отправляете реальные деньги другим людям. Вы должны вместо этого использовать один из других методов. Описанных в этой главе. Создание необработанных транзакций чрезвычайно полезно. Если вы пишете биткойн-программы, но только когда вы пишете биткойн-программы. (Например: при написании этого примера для одной из версий этого учебника мы случайно потратили неправильную транзакцию. Хотя она имела примерно в 10 раз большую ценность. Почти все это было потеряно для шахтеров.)
Подготовьте необработанную транзакцию
Для получения наилучших практик мы начнем каждую транзакцию с тщательной записи txid и Vout. Которые мы будем тратить.
В этом случае мы собираемся потратить один из них стоимостью 0,00050000 BTC. Потому что это единственный с приличной стоимостью.
Вы должны точно так же записать свой адрес получателя. Чтобы убедиться. Что вы все сделали правильно. Мы снова посылаем немного денег обратно в TP кран:
Как всегда. Тщательно проверяйте переменные. Чтобы убедиться. Что они соответствуют вашим ожиданиям!
Этот получатель особенно важен. Потому что если вы его испортите. Ваши деньги пропадут! (И как мы уже видели. Выбор неправильной транзакции может привести к потере денег!) Так что трижды проверьте все это.
Поймите комиссию за транзакцию
С каждой транзакцией связана определенная комиссия. Это неявно, когда вы отправляете необработанную транзакцию: сумма. Которую вы заплатите в качестве комиссии. Всегда равна сумме вашего ввода минус сумма вашего вывода. Таким образом, вы должны уменьшить свой выход немного от вашего ввода. Чтобы убедиться. Что ваша транзакция выходит.
Внимание: это очень опасная часть необработанных транзакций!! Поскольку вы автоматически расходуете всю сумму в UTXOs. Которую используете. Критически важно убедиться. Что вы знаете: (1) точно. Какие UTXOs вы используете; (2) точно. Сколько денег они содержат; (3) точно. Сколько денег вы отправляете; и (4) в чем разница. Если вы ошибаетесь и используете неправильный UTXO (с большим количеством денег. Чем вы думали) или если вы посылаете слишком мало денег. Избыток теряется. Навсегда. Не делайте этой ошибки! Точно знайте свои входы и выходы Или лучше не использовать необработанные транзакции. Кроме как в рамках тщательно продуманной и трижды проверенной программы.
Сколько вы должны потратить на комиссию за транзакцию? Биткойн-сборы имеют хорошую живую оценку. В нем говорится, что
В настоящее время биткойн-комиссия предполагает комиссию за транзакцию около 10 000 сатоши. Что соответствует 0,0001 до н. э. Да, это для mainnet, а не для testnet, но мы хотим проверить вещи реалистично. Так что это то. Что мы собираемся использовать.
В данном случае это означает, что мы берем 0,0005 BTC в выбранном нами UTXO. Уменьшаем его на 0,0001 BTC для комиссии за транзакцию и отправляем оставшиеся 0,0004 BTC. (И это пример того. Почему микроплатежи не работают в сети биткойн. Потому что плата за транзакцию в размере 1 доллара или около того довольно высока. Когда вы отправляете 4 доллара. Не говоря уже о том. Что вы пытаетесь сделать микроплатеж в размере 0,50 доллара. Но именно поэтому у нас всегда есть молния.)
Предупреждение: Чем ниже вы устанавливаете комиссию за транзакцию. Тем дольше ваша транзакция будет встроена в блок. Сайты Биткойн-сборов перечисляют ожидаемые времена. От ожидаемых 0 блоков до 22. Поскольку блоки строятся в среднем каждые 10 минут. Это разница между несколькими минутами и несколькими часами! Итак, выберите комиссию за транзакцию, соответствующую тому. Что вы отправляете. Обратите внимание. Что вы никогда не должны опускаться ниже минимальной платы за ретрансляцию. Которая составляет 0,0001 BTC.
Напишите необработанную транзакцию
Теперь вы готовы создать необработанную транзакцию. Это использует createrawtransaction команду. Которая может выглядеть немного пугающе. Это потому createrawtransaction , что команда не полностью защищает вас от RPC JSON. Который использует bitcoin-cli. Вместо этого вы собираетесь ввести массив JSON для перечисления UTXOs. Которые вы тратите. И объект JSON для перечисления выходных данных.
Вот стандартный формат:
Да, там есть все виды сумасшедших цитат, но верьте. Что они будут делать правильные вещи. Используется »’ для обозначения начала и конца массива JSON и объекта JSON. Защитите нормальные слова, такие как «this» , но вам не нужно защищать нормальные числа: 0 . Если это переменные, вставьте одинарные кавычки. Например «‘$this_word'» и ‘$this_num’ . (Фу. Ты к этому привыкнешь.)
Вот команда. Которая создает необработанную транзакцию для отправки Вашего $utxo вашему $ получателю
Проверьте Свою Необработанную Транзакцию
Затем вы должны проверить свою rawtransaction, decoderawtransaction чтобы убедиться. Что она будет делать правильные вещи.
Проверьте сами vin . Проводите ли вы правильную транзакцию? Содержит ли он ожидаемую сумму денег? (Проверьте bitcoin-cli gettransaction и обязательно посмотрите направо vout .) Проверь свою vout . Вы посылаете правильную сумму? Идет ли он по правильному адресу? Наконец, сделайте математику, чтобы убедиться. Что деньги на балансе. Равна ли стоимость UTXO за вычетом потраченной суммы ожидаемой комиссии за транзакцию?
ПРИМЕЧАНИЕ-ПОСЛЕДОВАТЕЛЬНОСТЬ: Вы можете заметить, что каждый вход имеет порядковый номер, установленный здесь в 4294967295, который является 0xFFFFFFFF. Это последний рубеж биткойн-транзакций. Потому что это стандартное поле в транзакциях. Которое изначально предназначалось для определенной цели. Но никогда не было полностью реализовано. Так что теперь это целое число сидит в транзакциях. Которые могут быть перепрофилированы для других целей. И, по сути, так оно и было. На момент написания этой статьи Существует три различных варианта использования переменной. Которая вызывается nSequence в коде ядра биткойна: она включает RBF, nLockTime , и относительные временные блокировки. Если ничего странного не происходит, nSequence будет установлен на 4294967295. Установка его на более низкое значение сигнализирует о том. Что происходит что-то особенное.
Подпишите необработанную транзакцию
На сегодняшний день ваша необработанная транзакция-это просто что-то теоретическое: вы могли бы отправить ее. Но ничего не было обещано. Вы должны сделать несколько вещей, чтобы получить его в сеть.
Во-первых, вам нужно подписать вашу необработанную транзакцию:
Обратите внимание. Что мы захватили подписанный шестнадцатеричный код вручную. А не пытались разобрать его из объекта JSON. Программный пакет под названием
Отправить необработанную транзакцию
Теперь у вас есть готовая к запуску необработанная транзакция. Но она не считается. Пока вы фактически не поместите ее в сеть. Что вы и делаете с sendrawtransaction помощью команды. Вы получите обратно txid:
Вы сразу же увидите. Что UTXO и его деньги были удалены из вашего кошелька:
Вскоре listtransactions должна появиться подтвержденная транзакция категории
Вы можете видеть. Что он совпадает txid с адресом и recipien адресом. Он показывает не только amount отправленное сообщение, но и транзакцию fee . И он уже получил подтверждение, потому что мы предложили плату. Которая быстро сметет его в блок.
Поздравляю! Теперь ты на несколько сатоши беднее!
Сводка: создание необработанной транзакции
Когда деньги поступают в ваш биткоин-кошелек. Они остаются в виде отдельных сумм. Называемых UTXOs. Когда вы создаете необработанную транзакцию, чтобы отправить эти деньги обратно. Вы используете один или несколько UTXOs для ее финансирования. Затем вы можете создать необработанную транзакцию. Подписать ее и отправить в биткойн-сеть. Однако это всего лишь основа: обычно вам нужно создать необработанную транзакцию с несколькими выходами. Чтобы действительно отправить что-то в биткойн-сеть!
Источник
Новая миткарта и «фишка» в сети «Мясницкий Ряд» — будьте внимательны!
Вчера был в одном из магазинов «Мясницкий Ряд», все как обычно акции на четыре сорта колбасных изделий, скидки на полуфабрикаты после 18-00, но продавец мне сразу рассказала о нововведениях, которые появились в этой сети буквально на днях.
И так, у них появилась программа лояльности «Биржа Вкусов» и миткарты, с возможностью накапливать «миткоины».
Считаю, что если вы постоянный клиент этой сети, то это еще один способ экономить на покупках.
Сейчас всем раздают бесплатно при покупке. Все в аккуратном буклете, все объясняют и рассказывают, а для чего вообще они нужны, но есть и интересная «фишка», о которой я расскажу в конце.
Но, сначала, хочу показать, как выглядят сами буклеты, и рассказать что это за «валюта» такая
Ее обязательно нужно активировать. Долго расспрашивал у продавца, как ваши клиенты пожилого возраста справляются с этой задачей, на что она ответила «если у кого нет родственников, которые помогут, приходится мне это делать, и помогать старикам».
Я знаю продавцов этого магазина уже давно, и то, что они еще и это взвалили на себя, ну просто, 100 балов в карму!
При регистрации через сайт вам выдадут виртуальную карту.
Прежде чем активировать, ту, что получите в магазине, нужно будет заблокировать выданную и уже, потом активировать свою.
В прочем, интерфейс личного кабинета очень прост и интуитивно понятен, и те, кто хоть раз активировал какие-либо карты, справятся довольно легко.
Миткоины можно получить:
- За факт покупки (один раз в сутки)
- За каждый товар
- За каждые 100 рублей
- За каждые 100гр.
Я уже активировал карту, и пока не увидел ни одного минуса от того что она будет еще одной из пары десятков, что уже имеются.
Но, я еще и «фишку» обещался написать, так вот
Как сказал продавец «аккуратнее, видите, на аукционную колбасу стоит два ценника и завтра, без карты, я вам уже не продам по желтому ценнику».
На вопрос, а может просто иметь за прилавком карту для стариков и «забывчивых», она сказала, у нас же и камеры и тайные покупатели, и за это просто могут уволить.
В общем, старайтесь при посещении этого магазина не забывать карту, если покупаете по акциям.
Источник