Questionnaire for requirements
Questions about the data model
- What kind of data are you planning to store in the Iroha?
- Please, explain the data model of information which you are planning to store
- What operations are you planning to perform with your data?
- What queries are you planning to request from the system about the data?
- Results of which queries you need to receive continuously?
- Do you need to have incoming notifications about some event? If yes, what kind of events do you want to be notified about?
- Do you need to have the possibility to get information about the state of the network at some moment in the past?
- How are you planning to verify the validity of data, which will be received as a result of a query?
Questions about accounts and permissions
- How do you planning to use accounts in the Iroha?
- What entities in your project you are planning to associate to the accounts in Iroha?
- What kind of operations do you need to have over accounts?
- What roles for accounts do you planning to have?
- Do you need to modify the permissions of accounts after they will be created?
- Do you need to have the possibility for users to delegate some operations to be performed on behalf of their accounts?
- Do you need to have MST accounts?
- How do you plan to distribute signatories and their weights/roles for the MST account?
- Do you need to set up conditions for MST accounts?
- What kind of conditions are you planning to set up?
Questions about DSL and triggers
- Do you need to have some conditional triggers in the blockchain?
- What kinds of conditions are you considering to be required? For example, time-based, state-based, instruction-based, etc.
- What kind of operations do you need to have in the DSL?
- Do you need to DSL to be Turing-complete? If yes, explain your understanding of Turing-completeness.
Questions about quality attributes
- How many transactions per second your project need to send to the Iroha in normal mode? Under load? In peak?
- How much time it is okay for your project to wait until the transaction will be finalized? What is optimal and longest acceptable time?
- What configurations of machines are you ready to use for the Iroha network?
- How many peers you are planning to run for the Iroha network?
- Will you trust the hosts where Iroha peers will run, or you need to have additional security protection for the data on these hosts?
- Is it acceptable for your project to have additional security protection (e.g. HTTPS by Nginx reverse-proxy) for the Iroha installation?
Other questions
- On which platforms are you planning to have a client for the Iroha?