Client-side Bitcoin JavaScript library for node.js and browsers with comprehensive Bitcoin protocol support
Overall
score
99%
{
"context": "This criteria evaluates how well the engineer uses bitcoinjs-lib to handle transaction input sequence numbers for Replace-By-Fee (RBF) signaling, relative time locks, and transaction finality. The focus is on proper usage of the Transaction class and correct sequence number encoding according to Bitcoin protocol standards.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Transaction construction",
"description": "Uses bitcoinjs-lib Transaction class or TransactionBuilder to create transactions with inputs and outputs",
"max_score": 20
},
{
"name": "Custom sequence setting",
"description": "Correctly sets sequence numbers on transaction inputs using the sequence property (e.g., tx.ins[i].sequence or addInput with sequence parameter)",
"max_score": 25
},
{
"name": "RBF signaling",
"description": "Implements Replace-By-Fee by setting sequence numbers below 0xfffffffe (specifically 0xfffffffd or lower) to signal replaceability per BIP 125",
"max_score": 20
},
{
"name": "Relative timelock encoding",
"description": "Correctly encodes relative time lock values in sequence numbers according to BIP 68 (using the lower 16 bits for block count, with bit 22 disabled for block-based locks)",
"max_score": 25
},
{
"name": "Final sequence check",
"description": "Correctly identifies final transactions by checking if sequence number equals 0xffffffff (the standard final sequence value)",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-bitcoinjs-libdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10