7. Iroha API reference¶
In API section we will take a look at building blocks of an application interacting with Iroha. We will overview commands and queries that the system has, and the set of client libraries encompassing transport and application layer logic.
Iroha API follows command-query separation principle.
Communication between Iroha peer and a client application is maintained via gRPC framework. Client applications should follow described protocol and form transactions accordingly to their description.
- 7.1. Commands
- 7.1.1. Add asset quantity
- 7.1.2. Add peer
- 7.1.3. Add signatory
- 7.1.4. Append role
- 7.1.5. Create account
- 7.1.6. Create asset
- 7.1.7. Create domain
- 7.1.8. Create role
- 7.1.9. Detach role
- 7.1.10. Grant permission
- 7.1.11. Remove peer
- 7.1.12. Remove signatory
- 7.1.13. Revoke permission
- 7.1.14. Set account detail
- 7.1.15. Set account quorum
- 7.1.16. Subtract asset quantity
- 7.1.17. Transfer asset
- 7.1.18. Compare and Set Account Detail
- 7.2. Queries
- 7.2.1. Validation
- 7.2.2. Get Account
- 7.2.3. Get Block
- 7.2.4. Get Signatories
- 7.2.5. Get Transactions
- 7.2.6. Get Pending Transactions
- 7.2.7. Get Pending Transactions (deprecated)
- 7.2.8. Get Account Transactions
- 7.2.9. Get Account Asset Transactions
- 7.2.10. Get Account Assets
- 7.2.11. Get Account Detail
- 7.2.12. Get Asset Info
- 7.2.13. Get Roles
- 7.2.14. Get Role Permissions
- 7.2.15. Get Peers
- 7.2.16. Fetch Commits
Commands here are parts of transaction - a state-changing set of actions in the system. When a transaction passes validation and consensus stages, it is written in a block and saved in immutable block store (blockchain).
Transactions consist of commands, performing an action over an entity in the system. The entity might be an account, asset, etc.