tiller-tolbus/chain

Subject protocol-level types to versioning

Opened this issue · 1 comments

To allow for the possibility of protocol upgrades, protocol-level types need to be handled in such a way that manual action is not required for a node to be compliant with a pending upgrade.

Typically this would be done by adding numbers to the names of our types, such as $block-0, $txn-0, etc.

Because %token aims to be kelvin-versioned, we may want to consider counting down from the Hoon version of each type. Ex. $block-139, $txn-139.

We also may want to consider handling the versioning at a different level from usual, such as in the name of the .hoon file. Ex. /sur/token-139/hoon.

See vanes (e.g. Ames) for examples of upgrade arms as well, which sequester the logic as necessary.