Sign in now

World State

World State provides:

  • Access to the state database of the app.
  • Ability to search the state database using a key or value.
  • Check the history of values for the associated key from the World State.
  • Create, modify, or delete the key and its associated value from the World State (for XLDB only).


The Transactions tab allows you to browse activity in the ledger. You can:

  • Browse through the history of transactions
  • Search and filter the transactions by key, value, transaction ID, and date range
    • Key

      The key used to save the data in the ledger.

    • Value

      The value saved in the ledger.

    • Is Deleted

      Denotes if the transaction was to delete the value from the ledger.

    • Updated At

      The time at which the transaction was made.

    • tx ID

      A unique transaction ID of the current transaction.



Forms allow you to utilize a simple UI for data entry to your blockchain ledger. It makes using a blockchain ledger even simpler by not having to worry about the structure of data.

When your app is deployed, sample forms will be created for you to use, but you are not limited to just these sample forms. You can create as many forms you need for your app.

To enter data using forms:

  1. Go to World State.
  2. Click Add.
  3. Select the Form you want to use for data entry.
  4. Click Save.


You can export a created form to be used either later or on another app. To import a form, simply click on Import and upload your exported forms file.


You can utilize the inbuilt form editor to create or edit a form according to your needs.

  • Name: These will be used to identify the form and the transactions done from the form.
  • API Function Name: Specify the function to be called from the smart contract upon successful submission of the form.
  • Arguments: Specify the arguments needed to be passed to the smart contract function.
  • Key: The transactions performed using your form will be saved with this key. You can use any form element to act as a key, but you can’t change the key once a form is saved. This is required only for certain Xooa managed apps and templates based on XLDB and using create as fcn.
  • Add Action: Enabling this option will allow the form to be available as global actions in the World State. Note: This option is enabled as the default for XLDB-based apps using create as fcn.
  • Context Action: Enabling this option will allow the form to be available as part of a row action in the World State. Note: This option is not available for XLDB-based apps using create as fcn.
    • Available for Document Types: This allows you to set the document types for which this form will be available as part of a row action.
    • View Only: This allows you to enable this form in View-only mode. All the fields will be disabled.
  • Design Form: Simply drag-and-drop form elements and change the layout to the editor. You can see the preview of the form immediately.
    • For adding nested data, use dot(.) operator in API section of a form element. eg. properties.weight, details.Name,,
    • To prevent form submissions upon certain conditions, set submission.preventSubmit = true. This can be used in the JavaScript section of any form element. eg. if(data.status !==’Approved’){ submission.preventSubmit = true; }
    • Identity context is available as form.identity. eg. if(form.identity.attributes.RoleName !==’Admin’){ submission.preventSubmit = true; }


Visualize your data in the form of charts or tables. Adjust the metrics according to your requirements and personalize your dashboard for each app. You can also export the customized data in the form of CSV.

You can view all your charts and tables under this tab.

Click Add Element to add another chart or table to the dashboard. For each new element, you can define the settings to fetch data and populate the dashboard element.

You can configure the following settings for each dashboard element:


Fields defined in the Manage Schema tab can be used here. Several pre-defined transactions and state-related fields are available by default.

Fields are the dimensions that you can add and use in your dashboard elements.


Measures defined in the Manage Schema tab can be used here. Transaction Count is available by default.

Measures are the aggregations that you can define and use in your dashboard elements. The aggregation can be defined on the fields and existing measures.


Transactions Created and State Created time along with any field defined with data type as timestamp can be used as a dimension of time.


You can filter the items based on Fields, Measures and Time. This will allow you to limit the data points on which the dashboard element will be created.

Chart Type

You can select the chart type for your dashboard element. Your available options include Line, Area, Bar, Pie, Table, or Number as a chart type for your dashboard element.

Dashboard Schema


Fields are the dimensions that you can add and use in your dashboard elements. You can either add from the suggested fields or as a custom field. The suggested fields are based on the last 25 transactions on the app and forms.

  • Label for the field will be shown in the dashboard element.
  • Field is used to map the value field of the world state to a dashboard element.
  • Enclose the key of the world state in {{}}. PostgreSQL syntax can be used in Field. eg. EXTRACT(month FROM age(TO_TIMESTAMP({{loanApprovedDate}},’YYYY-MM-DD’),TO_TIMESTAMP({{xldb_createdDTM}},’YYYY-MM-DD’)))
  • Standard fields (such as Transaction date or State last-modified-date) are always available for Measures and Dashboard elements and do not need to be added.
  • Quickly add fields using suggestions, which are offered by the Xooa AI. To train or retrain the Suggestions AI, invoke new transactions or directly write to the World State (if using XLDB).



Define the correct Data type of each field. This step is necessary to avoid any inconsistencies.


Measures are the aggregations that you can define and use in your dashboard elements. The aggregations can be defined on the fields and existing measures. Several types of aggregations are available viz. Average, Sum, Number, Count, Count Distinct, Count distinct approx, Min, Max and Running total.

  • A complex query can also be written while defining aggregation queries. eg. COALESCE(student_age (field),0)+COALESCE(employee_age (field),0).
  • Filters can also be added to the aggregation query. eg. employee_type (field)=‘sales’.
  • PostgreSQL syntax can be used in Value Field.

App Users

You can invite other users to your app. It also allows you to provide access to specific forms and dashboards for the app user. This is best suited for apps involving multiple entities using the app in the workflow. The shared user will have read access to the world state of the app; however, they can only make changes if the appropriate form has also been shared with them. The user will be able to access the shared app in the runtime console



  • API Endpoint

    Endpoint for calling functions in the smart contract.

  • API Documentation and Testing

    URL for testing API endpoints. You can also test smart contract function calls.

  • API Explorer

    Test the API endpoints for the custom smart contract upon authorizing use for the identity API token.


The history of API calls that have been made to the app filtered by the date range specified.

  • Time

    The time at which the API call was made.

  • Method

    Request method for the API call.

  • Path

    The endpoint called.

  • Response time

    The time taken to get the response for the API call.

  • Response code

    The response code received by the user for the API call.

  • Client IP

    The IP address from where the API call was generated.

  • Identity ID

    The Identity used to make the API call.


An identity is someone with an API token and a given set of permissions to access the APIs for the app. From the Identities tab, you can perform actions such as:

  • Add identities
  • View identities
  • Delete identities
  • Update identities
  • Regenerate an API key for an identity
  • Identity ID

    A unique identifier of the identity. This is not the API token of the identity.

  • Name

    A descriptive name for the identity. Notice that the name does not need to be unique.

  • Access

    Determines if an identity with the API token can only read the ledger or also write to it.

  • Manage Identities

    Determines if the API token for this identity authorizes them to create other identities. Typically, such an identity represents an administrator.



    An identity authorized to manage other identities can always create identities with write access to the ledger.

  • Token Generated On

    Local date and time for when a token was last generated for the identity.

  • Actions

    Perform actions on the identity such as:

    • View: View the identity details such as access permissions and public key.
    • Regenerate: Generates a new API token and revokes the previous token.
    • Update: Update the access permissions of the identity.
    • Delete: Deletes the identity and revokes its API token.


View smart contract logs from the last 10 minutes. What events are logged depends on how you have coded your smart contract. Click here for details on Hyperledger Fabric’s logging. The logs are available only for custom smart contracts which are deployed on Hyperledger Fabric.


App Info

Get all the details about your app including the name, description, and other network details.


Provides a history of activities related to the app. Activities include information about redeploying the app, app-specific actions, identity-related actions, and upgrades.


Delete your app from Xooa, manage the endorsement policy, or update your app from your GitHub repository or local directory.

Upgrade App

Refresh the app with the smart contract code currently in the GitHub repository used for creating this app or in your local directory. Upgrading an app is available only for custom smart contracts deployed on Hyperledger Fabric.

Delete App

Deleting the app will remove the end points and the smart contract from Xooa. This operation is irreversible and you will never be able to access the app data again on Xooa. If you need to download the data, use an External Peer. External Peers are not affected by this operation.

Endorsement Policy

(Only for Hyperledger Fabric apps)

Available only for apps deployed on Hyperledger Fabric. Defining a custom endorsement policy will allow External Peers to endorse transactions for the app.

Add Principal

Add an organization taking part in the endorsement under the same AND/OR expression.

Add Expression

Add a different condition for endorsement.

AND expression will allow the transaction to be committed only when endorsing peers from all the added organizations endorse the transaction.

OR expression will allow the transaction to be committed when endorsing peers from any of the added organizations endorse the transaction.

Apply endorsement policy

Applying the endorsement policy will upgrade the app. The new policy will take effect immediately.

Last updated: August 26, 2020