LearnBitcoin

Bitcoin Dev Archive 2015

BIP 68 Questions

2 messages, 2 to 3 Jul 2015. Started by Rusty Russell.

Rusty Russell (2)

Permalink Original thread on gnusha.org

Rusty Russell permalink original

Hi Mark,

        It looks like the code in BIP 68 compares the input's nSequence
against the transaction's nLockTime:
        if ((int64_t)tx.nLockTime < LOCKTIME_THRESHOLD)
            nMinHeight = std::max(nMinHeight, (int)tx.nLockTime);
        else
            nMinTime = std::max(nMinTime, (int64_t)tx.nLockTime);
        if (nMinHeight >= nBlockHeight)
            return nMinHeight;
        if (nMinTime >= nBlockTime)
            return nMinTime;

So if transaction B spends the output of transaction A:

1.  If A is in the blockchain already, you don't need a relative
    locktime since you know A's time.
2.  If it isn't, you can't create B since you don't know what
    value to set nLockTime to.

How was this supposed to work?

Thanks, Rusty.

Rusty Russell in reply to Rusty Russell permalink original

Rusty Russell <rusty@rustcorp•com•au> writes:

Quoted text (4 lines)
> Hi Mark,
>
>         It looks like the code in BIP 68 compares the input's nSequence
> against the transaction's nLockTime:

No, forget this. I misread the code. Mark ELI5'd to me offlist, thanks!

FWIW, the code works :)

Cheers, Rusty.