General idea is to make abstraction level for common usage of DAG, Blockchain and No-Chain mode. In the code its present pseudo object *dap_chain_t* that holds all the abstractions.
Chain structure: atoms, organization
Chain consists from atomic chain elements - chain atoms. Atom is only abstraction: it could be block, event or just id for database record for no-chain storage. An atom could hold inside one or more datums - custom data that stores in chain. It could be transaction, certificate, smart contract, token declaration, token emission or any another custom data.
Cells, Network, Chains
Chain itself could be celled (sharded) or non-celled. So it could be single set of consistent data or lot of them. Keep in mind: cell is not part of the Chain. Its part of the network. Chain could be or not to be associated with cell. For CellFrame Network and CellFrame Chain the cell its just kind of id thats used for breaking down the network on independent segemnts thats has its own datasets - chains, [[gdb | whitelist (GDB - GlobalDB) ], mempools