4

At the below line:

https://github.com/iotaledger/iri/blob/master/src/main/java/com/iota/iri/model/Transaction.java#L84

The attribute "solid" is set in the transaction. Tracing this back to the transactionValidator:

https://github.com/iotaledger/iri/blob/master/src/main/java/com/iota/iri/TransactionValidator.java#L225

It looks like it is checking out whether the Trunk and Branch transaction are also solid? Is that all there is to it?

Maybe the better way to ask this is: What does solidity mean in this context?

2

A transaction is considered solid on your node when

  • it exists in your local database and
  • its trunk and branch are also either solid or the NULL_HASH

Effectively, this means that the transaction itself is present and you can walk from that transaction towards the root (the initial milestone which has NULL_HASH both for trunk and for branch) in any way you like, without reaching transactions that are unknown to your node.

In a fully synchronized node, all transactions are solid. When a transaction is not solid, your node will ask its neighbors for the missing puzzle pieces.

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.