Kann ich eine an mich selbst gesendete Münze ausgeben, bevor sie bestätigt wird?

Wenn ich das gesamte Guthaben in meinem Wallet an eine andere Adresse in meinem eigenen Wallet ausgebe, muss ich warten, bis es eine Bestätigung erhält, um es auszugeben, oder weiß der Kunde, dass es mein eigenes Guthaben ist und dass es ausgegeben werden kann?

Dies kann über RPC erfolgen , aber diese Frage bezieht sich speziell auf die Verwendung des bitcoin-qt-Clients dafür.

Antworten (2)

Ja. Im Gegensatz zu anderen Transaktionen müssen Sie nicht auf die Bestätigungen warten.

Aus dem Code, der auswählt, welche Münzen verwendet werden sollen, um eine Transaktion zu finanzieren src/wallet.cpp:

bool CWallet::SelectCoins(int64 nTargetValue, [...])
{
    vector<COutput> vCoins;
    AvailableCoins(vCoins);

    return (SelectCoinsMinConf(nTargetValue, 1, 6, vCoins, setCoinsRet, nValueRet) ||
            SelectCoinsMinConf(nTargetValue, 1, 1, vCoins, setCoinsRet, nValueRet) ||
            SelectCoinsMinConf(nTargetValue, 0, 1, vCoins, setCoinsRet, nValueRet));
}

wobei SelectCoinsMinConfdas zweite und dritte Argument "Anzahl der Bestätigungen, die eine Münze benötigt, wenn sie von mir stammt" bzw. "Anzahl der Bestätigungen, die eine Münze benötigt, wenn sie von jemand anderem stammt" sind:

bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfTheirs, [...])
{
    [...]
}

Was also passiert, ist, dass der Code zuerst versucht, die Transaktion nur mit Münzen zu finanzieren, die Sie an sich selbst gesendet haben und die mindestens 1 Bestätigung haben, und Münzen von anderen mit mindestens 6 Bestätigungen. Wenn es auf diese Weise nicht genug finden kann, versucht es es erneut, erfordert jedoch nur eine Bestätigung für die Münzen, egal woher sie stammen. Und wenn das auch fehlschlägt, lockert es die Anforderung für Bestätigungen auf Münzen, die Sie an sich selbst gesendet haben.

Ich glaube du kannst. Sie können es definitiv von Bitcoin aus tun (und es war mit wxbitcoin möglich), und ich sehe keinen zusätzlichen Code, der dies verhindern würde. Es gibt keinen Grund, es zu verhindern. Ich habe es aber nicht probiert.