A method of reading previously stored assets that are implemented using smart contracts on a decentralized database, wherein the assets include an individual asset that has a state, wherein at least part of some of the assets is stored on a content-addressable file system, the method comprising:
- receiving a read request, from the first client computing device associated with a user, to read information of the individual asset;
- transferring the read request to the decentralized database;
- subsequent to receiving the read request, receiving a first reference from the decentralized database, wherein the first reference refers to a first file on the content-addressable file system;
- obtaining the first file from the content-addressable file system, based on the first reference;
- extracting a previous-file reference from the first file;
- responsive to the previous-file reference referring to a second file on the content-addressable file system, obtaining the second file, and extracting a second previous-file reference from the second file;
- repeatedly obtaining additional files and extracting previous-file references from the additional files until an individual previous-file reference from an individual file no longer refers to another file on the content-addressable file system;
- and
- presenting information from the first file, the second file, and the additional files through a user interface to the user.