Проявилась ещё одна ошибка. Майнинг из-за этого невозможен.
...
CreateNewBlock(): total size 1000
ERROR: CheckTransaction() : vout empty
ERROR: CheckBlock() : CheckTransaction failed
...
...
CBlock(hash=2fd6197b461c2ed00192f2e2b394d76d0a688669f64539ca3d9d11ea747dd226, ver=2, hashPrevBlock=00000010f28c0c5774cfb59cc2fda5fe08ce6cafbf18d8ca3058aaf679bc74d7, hashMerkleRoot=0000000000000000000000000000000000000000000000000000000000000000, nTime=1518290114, nBits=1d2cd213, nNonce=0, vtx=2)
CTransaction(hash=1fd00ebc725efe45cf8e5ee2e767095c3ae55cd36762f1d0ca24453b443a0da9, ver=1, vin.size=1, vout.size=2, tBlock=0, nLockTime=0)
CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0000)
CTxOut(nValue=148.65014985, scriptPubKey=03ab002067e03c11b58f833b02f351)
CTxOut(nValue=1.34985015, scriptPubKey=03c1210be41ebaf80c1a9ad023bc0b)
CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0)
CTxIn(COutPoint(d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7, 1), scriptSig=0 0)
CTxIn(COutPoint(21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8, 0), scriptSig=0 0)
CTxIn(COutPoint(604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb, 0), scriptSig=0 0)
CTxIn(COutPoint(02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb, 0), scriptSig=0 0)
CTxIn(COutPoint(22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5, 1), scriptSig=0 0)
vMerkleTree:
Running TTC-Miner with 2 transactions in block (465 bytes)
...
10:35:25  getrawtransaction 937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f 1
10:35:25  {
"hex" : "0100000005f7337fca74ab8882f219cf7f7ff2b62359c4aaad087af9d6192aaa14711f9bd201000000020000ffffffffe8fd5634cb0d586ce639a085bb52fbcead9bd9c83f750101e0351dd0f82bb12100000000020000fffffffffb33f3a0c7083633c3c4825b02bacc8a5491b1b2975f8ae63abde134a794456000000000020000ffffffffcba67a6363aa2ee9a4a9438adae18a186046124a9e21115fb8bda3a9c86b590200000000020000fffffffff5cd6c7ec21181bef618d96413ae0449414c976ae5731b977651df6b76d0c82201000000020000ffffffff00c468000000000000",
"txid" : "937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f",
"version" : 1,
"locktime" : 0,
"tBlock" : 26820,
"vin" : [
{
"txid" : "d29b1f7114aa2a19d6f97a08adaac45923b6f27f7fcf19f28288ab74ca7f33f7",
"vout" : 1,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "21b12bf8d01d35e00101753fc8d99badcefb52bb85a039e66c580dcb3456fde8",
"vout" : 0,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "604594a734e1bd3ae68a5f97b2b191548accba025b82c4c3333608c7a0f333fb",
"vout" : 0,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "02596bc8a9a3bdb85f11219e4a124660188ae1da8a43a9a4e92eaa63637aa6cb",
"vout" : 0,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
},
{
"txid" : "22c8d0766bdf5176971b73e56a974c414904ae1364d918f6be8111c27e6ccdf5",
"vout" : 1,
"scriptSig" : {
"asm" : "0 0",
"hex" : "0000"
},
"sequence" : 4294967295
}
],
"vout" : [
],
"blockhash" : "00000010a32f5f65502d5040ae60f5fc87c9f544579f35378bb8468ece27f77e",
"confirmations" : 10,
"time" : 1518292567,
"blocktime" : 1518292567
}
CTransaction(hash=937d9b66af02ab930560f2134e933610ebd28f07aa4a159efa6a979a504a1a2f, ver=1, vin.size=5, vout.size=0, tBlock=26820, nLockTime=0)Механизм переноса транзакций создал транзакцию только с одними инами, без аутов -
https://github.com/neiros/---TTC---/blob/TTC-all-Lyra2REv2/src/miner.cpp#L355Такая транзакция стала невалидной -
https://github.com/neiros/---TTC---/blob/TTC-all-Lyra2REv2/src/main.cpp#L709Решается эта проблема двумя направлениями: либо убирается проверка отсутствующих выходов, либо добавляется хотя бы один выход.
Первый вариант мне не очень нравится. Он легитимизирует такого рода половинчатые транзакции. Это в дальнейшем вносит ещё один момент неопределённости. Второй более предпочтителен, но нужно определиться что, кому, куда и сколько отправить.