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?