// Note that of those which support the service bits prefix, most only support a subset of
// possible options.
// This is fine at runtime as we'll fall back to using them as a oneshot if they don't support the
// service bits we want, but we should get them updated to support all service bits wanted by any
// release ASAP to avoid it where possible.

Reference: https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L116


The service bits are a field in the version method which indicate what services a node supports. These services are features that a node supports and tells other nodes which connect to it what it may or may not be able to request from the node. They also indicate what that node can receive.

For example, if a node has the NODE_SEGWIT service bit set, then when another node connects to it and they see NODE_SEGWIT, they know that they can send segwit blocks and transactions to that node, and can expect to receive segwit blocks and transactions from that node. If they did not see NODE_SEGWIT, then they would know to strip segwit blocks and transactions of their witnesses before sending the transaction to that node.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.