Към съдържанието
ДаретеEN

Трансакции

VOUT

VOUT в биткойн (bitcoin) е индексът на изхода, който входът харчи, броен от 0 и записан като 4 байта в little-endian. Вижте как работи заедно с TXID.

От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.

VOUT е поредният номер на изход в трансакция. Първият изход е VOUT 0, вторият е VOUT 1 и така нататък. Вход го използва заедно с TXID, за да каже точно кой изход харчи. Двойката е outpoint, а всеки outpoint във веригата е уникален.

В суровите данни VOUT е 4-байтово цяло число в little-endian. Стойността 03000000 означава изход 3.

Как VOUT избира изход?

Трансакцията може да създаде много изходи и всеки трябва да има собствен етикет, за да може по-късен вход да сочи към него. TXID намира трансакцията, а VOUT намира изхода в нея. Входът може да харчи само един изход, затова винаги назовава един TXID и един VOUT.

Изходите се номерират в реда, в който трансакцията ги създава, и този ред не се променя, след като трансакцията бъде изкопана. Изход може да се похарчи само веднъж. Щом outpoint е похарчен, всяка следваща трансакция, която го назовава, е невалидна.

Outpoint е TXID плюс VOUT: тук изход 3 на по-ранна трансакция. По-ранна трансакция f94cd7bd…5e204493 0 1 2 3 VOUT 0 VOUT 1 VOUT 2 VOUT 3 Outpoint: TXID:VOUT f94cd7bd…5e204493:3 VOUT в суровите данни: 03000000 4 байта, little-endian, броени от 0
Изходите се броят от 0, така че четвъртият изход има VOUT 3.

Как изглежда VOUT в суровите данни?

Вземете трансакция bcf91802a2aaa7de085759488b187fadf87a448f4f24f92cb38bb03285e2d8f9. Тя е segwit трансакция, така че има маркер, флаг и witness, но единственият ѝ вход има същите полета като всеки друг. VOUT на този вход е 03000000.

Полето TXID на входа съдържа 9344205e8904b78e4451eadc6120d9304c570f6697d074793c188b7dbdd74cf9. Обърнато, това е f94cd7bd7d8b183c7974d097660f574c30d92061dcea51448eb704895e204493, TXID, който показват експлорърите. Полето VOUT е 03000000. В big-endian това е 00000003, което е 3. Значи входът харчи четвъртия изход, с номер 3, на трансакцията f94cd7bd…5e204493. Този изход съдържа 109,243 сатоши.

Полето е 4 байта, така че VOUT може да достигне 4,294,967,295. На практика трансакциите имат далеч по-малко изходи от това.

Какъв е VOUT при входа coinbase?

Входът coinbase не харчи по-ранен изход, така че няма истински VOUT. Неговият VOUT е зададен на най-голямата 4-байтова стойност, ffffffff, която е 4,294,967,295. Софтуерът, който види ffffffff с нулев TXID, знае, че гледа coinbase. Страницата за coinbase обяснява останалото от този вход.

Защо се казва VOUT?

Името идва от изходния код на Bitcoin Core. Първоначалният код на биткойн е бил написан на C++, а трансакцията там пази изходите си в номериран списък, наречен вектор, с име vout. Входовете ѝ са във вектор с име vin. Имената се запазват и днес в инструментите. Подробният изход на bitcoin-cli getrawtransaction все още има списък vin за входовете и списък vout за изходите.

Къде се вижда VOUT?

Блок експлорърите показват VOUT до TXID на всеки вход. В подробния изход на getrawtransaction всеки елемент от vin има собствени полета txid и vout. vout във входа е индексът на изхода, който той харчи. Списъкът vout на най-високо ниво показва изходите, които самата трансакция създава.

Следващата страница, ScriptSig, разглежда кода за отключване, който следва TXID и VOUT във всеки вход.

Източници

В този раздел: Трансакции

Целият курс „Биткойн от нулата“

Нещо не изглежда наред? Кажете ни