Personal Domains
Priority | SHOULD |
---|---|
Type of change request | FEATURE |
Epic link | https://jira.hyperledger.org/browse/IR-578 |
Status | DRAFT |
Target release |
Vision
This feature attempts to democratise the asset type creation aspects of the Iroha distributed ledger to enable every user to create any arbitrary tokens of their own choosing. Initially, this was motivated by the idea of recording personal IOUs on the ledger and making such informal ‘debts’ tradable in the system. However, considerations of how to do the implementation led to a more generallzed enhancement that can accomplish the same end.
This proposal extends the existing behaviour of Iroha according to the following:
- Modify the relationship between domains and users to allow users to exist in more than one domain.
- Extend the new account creation functionality to also create a new domain associated with the account and giving the user full administrative permissions on their 'personal domain'.
Functional details
Personal domains
Personal domains extend the domain concept to add a domain that is associated with every user account. The user is then given all of the domain and asset administrator permissions normally associated with the domain.
Implementation Notes
This change will involve updating the relational schema to extend the domain - user relationship from a 1 to many to a many to many mapping and to update the permissions checks throughout the code base to ensure that user actions are verified against permissions for the appropriate domain.
Environmental objectives
None
Changelog
# | Change description | Affected component | Change motivation | Dependency (optional) |
---|---|---|---|---|
1 | What is changed | Where it is changed | Why it is done | After #1 Before #1 etc. |
Research strategy
# | Research activity | Details | Acceptance criteria | Responsible (accepter) |
---|---|---|---|---|
1 |
Documentation effort
# | Target reader | Documentation description |
---|---|---|
1 |
QA activity
# | Validation activity | Intention | Actions | Expected result |
---|---|---|---|---|
1 | Testing | Test component X and check if … | Given X, When Y AND When Y1 | Then Z OR Then Z1 |
Tasks
Template data
Priorities MUST SHOULD COULD WON'T
Change request type FEATURE BUG FIX
Status BACKLOG WORK IN PROGRESS DONE