All permissions in Fluree are governed by smart functions. Smart functions can be attached to predicates, collections, or rules. Smart function are triggered by certain features of a transaction.
In the case of smart functions attached to rules, those smart functions are triggered based on who is issuing a given transaction.
If all of the smart functions triggered by a transaction return
true, then the transaction is considered valid.
If even one of the triggered smart functions returns
false, the transaction is rejected.
Every ledger comes with two built in smart functions,
["_fn/name", "true"] and
["_fn/name", "false"], which return
In this section of lessons, we won't cover how to write more complicated smart functions. We will just refer to smart functions are returning
false, because smart function in the context of permissions should only return
This section of lessons corresponds to the Rules section of the docs.