Composability

When someone submits data to EtherEthos, that data is public, and a record of it exists in the blockchain's immutable history. No PII should ever be submitted to this contract.

Retrieval of data from EtherEthos contract can be controlled by the data owner* by toggling off their data's composability. No data is deleted, but all calls to the the contract for accounts that are not composable return empty arrays. This is to empower account owners and maintain functionality for apps that rely on EtherEthos data (including other smart contracts).

Every account has a public 'permissions' mapping, which houses the following structured data:

    struct Perms {
        bool composable; // Whether or not the account has an active composable EtherEthos.
        bool accountIsBlocked; // Whether or not the account is blocked.
        bool moderator; // Whether or not the account is a moderator. *
        string verificationResponse; // The response to a verification request.
    }

Querying the contract for an account's permissions can help the app to avoid building structures with empty values if the account is not composable.

Composability is checked in every public view function on the contract, and app developers should only retrieve blockchain data from these public view functions, ideally live. This will ensure that the account owner's data is respected.

*The contract supports the creation and management of privileged 'Moderator' accounts, which can control the composability of other accounts. At launch, there are no moderators, but if they are needed, they can be added. Moderators will be empowered to deny service to individuals who misuse or abuse the application.

Last updated