Я искал "новый CTransaction" где-то, что не существует, так как выше, как ТЙ OBJ создается из прочитанных байт в OBJ CNetMessage. Думаю, я должен refamiliarize себя с операторами С ++ сериализации (это было почти доза за 20 лет).
новый почти никогда не используется в современном C ++.
Это не "C ++ оператор сериализации", В Bitcoin Ядра, потоки данных, как CDataStream (vRecv там)
перегружать >> а также << операторы сделать сериализации. Фактические сериализации в основном делаются с помощью кода в serialize.h через ADD_SERIALIZE_METHODS и READWRITE макросы, используемый в каждом классе, которые могут быть сериализациями.
Так
vRecv >> Техас на самом деле vRecv.operator>>(АЯ), который заканчивается призваниями tx.SerializationOp (vRecv, ...), который применяет READWRITE макрос к каждому сериализованному полю CTransaction (плюс, возможно, некоторые другие работы), которые либо непосредственно unserializes значения для простых типов, или вызывают метод SerializationOp-значения, чтобы сделать это.
Смысл этого несколько сложной установки является то, что вам просто нужно сделать
vRecv >> Техас к (безопасно) десериализируются всю сделку, и CTransaction только нужно иметь несколько строк кода, чтобы сделать это случиться.