9.3. 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.
- 9.3.1. Commands
- 9.3.1.1. Add asset quantity
- 9.3.1.2. Add peer
- 9.3.1.3. Add signatory
- 9.3.1.4. Append role
- 9.3.1.5. Call engine
- 9.3.1.6. Create account
- 9.3.1.7. Create asset
- 9.3.1.8. Create domain
- 9.3.1.9. Create role
- 9.3.1.10. Detach role
- 9.3.1.11. Grant permission
- 9.3.1.12. Remove peer
- 9.3.1.13. Remove signatory
- 9.3.1.14. Revoke permission
- 9.3.1.15. Set account detail
- 9.3.1.16. Set account quorum
- 9.3.1.17. Subtract asset quantity
- 9.3.1.18. Transfer asset
- 9.3.1.19. Compare and Set Account Detail
- 9.3.1.20. Set setting value
- 9.3.2. Queries
- 9.3.2.1. Validation
- 9.3.2.2. Result Pagination
- 9.3.2.3. Engine Receipts
- 9.3.2.4. Get Account
- 9.3.2.5. Get Block
- 9.3.2.6. Get Signatories
- 9.3.2.7. Get Transactions
- 9.3.2.8. Get Pending Transactions
- 9.3.2.9. Get Pending Transactions (deprecated)
- 9.3.2.10. Get Account Transactions
- 9.3.2.11. Get Account Asset Transactions
- 9.3.2.12. Get Account Assets
- 9.3.2.13. Get Account Detail
- 9.3.2.14. Get Asset Info
- 9.3.2.15. Get Roles
- 9.3.2.16. Get Role Permissions
- 9.3.2.17. Get Peers
- 9.3.2.18. Fetch Commits
- 9.3.3. Permissions
- 9.3.4. List of Permissions
- 9.3.5. Permissions Detailed
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.