Sign in now

Networks

Xooa may be used with a blockchain network hosted and managed entirely outside of Xooa, or on internal networks hosted and managed by Xooa (easier).

Most of Xooa’s features including custom smart contracts, managed apps, API-Gateway, identity orchestration with API tokens, the middleware, the ledger explorer and cloud-to-cloud integrations are available on the external network through Xooa.

To use Xooa with the internal blockchain network, there is no need to configure a network and this section may be skipped.

To use Xooa with an external network, first the external blockchain network should be operational, then the network connection information and credentials should be added as detailed ahead.

Add a new network

Connect a new external network to your Xooa account. All the nodes will run on your DLT provider and will be connected to Xooa’s architecture.

Network Name

Enter a new network name to add a DLT on Xooa.

DLT Type

You may add a new network deployed on either the Ethereum or Hyperledger Fabric DLT.

Hyperledger Fabric

You can choose the option to import network if your outside network is established among IBM, Azure or Oracle as the DLT cloud provider.

Obtain and Import IBM Node Files

  • Create an IBM managed blockchain network with:
    • A channel on the network
    • At least one peer
  • Obtain the peer configuration file
    • Go to the Nodes tab in the IBP console
    • Select the peer node
    • Click on the export icon
  • Obtain the CA configuration file
    • Go to the Nodes tab in the IBP console
    • Select the CA
    • Click on the export icon
  • Obtain the orderer configuration file
    • Go to the Nodes tab in the IBP console
    • Select the orderer
    • Click on the export icon
  • Obtain the wallet identity configuration file
    • Go to Wallet tab in the IBP console
    • Select the identity
    • Click on the export identity button
Upload IBM Node Files

On the Xooa console, upload the IBM node files for the peer, CA, and orderer you can retrieve from your network in IBP. These files will allow Xooa to establish the connection between your IBM network and the Xooa network. The orderers, CA servers, and peers will be connected to the network.

Upload Wallet Identity

In the next step, upload the wallet configuration files. Also, provide the registrar details - Enrollment Id and Enrollment Secret used while creating the network on IBP.

Provide the channel name used while configuring the network on IBP.

Obtain and Import Azure Connection Files

Obtain and Import Oracle Development Package

  • Go to Oracle Blockchain Platform Console
  • Click on Developer Tools tab and navigate to Application Development
  • Under the OBP section click on Download the development package
  • Upload the zip file containing the Oracle Development Package.

Other HLF Networks

Choose this option if your outside network is established on an AWS Managed Blockchain or on-prem. This will allow you to manually enter configuration details for the orderers, organizations, CA servers, and peers.

Prerequisite:

  • Create an AWS Managed Blockchain network with:
    • A channel on the network
    • At least one peer
  • Obtain TLS certificates
  • Obtain MSP admin certificates

  • Create a cloud formation stack:
    • Use template: https://xooa-awsblockchain.s3.amazonaws.com/envoyCF.json
    • CA endpoint:
      • Select the network created in the AWS Managed Blockchain network
      • Go to the Members tab
      • Select the member
      • Copy the CA URL
      • Remove the port number
    • Orderer endpoint:
      • Select the network created in the AWS Managed Blockchain network
      • Go to the Details tab
      • Copy the ordering service endpoint
      • Remove the port number
    • Peer endpoint:
      • Select the network created in the AWS Managed Blockchain network
      • Go to the Members tab.
      • Select the member
      • Select the node
      • Copy the peer endpoint
      • Remove the port number
  • Create DNS entry in Route53:
    • Obtain IPV4 public IP:
      • Go to the Resources tab from the stack you just created
      • Navigate to the physical ID of EC2 instance
      • Copy IPV4 public IP from the description tab
    • Create a record set for each of the orderer, CA and peer subdomains
    • Enter the instance’s IPV4 public IP in the value field while creating the record set

Channel Id

Enter the channel Id that you want the network to connect to on the DLT provider.

Orderers

On the Xooa console, enter the name and URL of the orderer to be added. You will be asked for a TLS certificate too if the GRPCS URL is entered. Name, URL, and the TLS certificate can be obtained from your DLT provider:

  • Name:
    • Select the network created in the AWS Managed Blockchain network
    • Go to the Details tab
    • Copy the ordering service endpoint
    • Remove the port number
  • URL:
    • Enter the URL created for the ordering service in Route53
    • Add 7050 as the port number

Organizations

Enter the name and MSP of the organization to be added. Also, upload the private key and signed certificate obtained from your DLT provider of the organization.

  • Name:
    • Select the network created in the AWS Managed Blockchain network
    • Go to the Members tab
    • Copy the Member ID
  • MSP:
    • Enter the MSP same as Name

CA Servers

Select the organization for the CA server to be associated with. Enter the name and URL of the CA server to be added. Also, enter the Enrollment ID and Enrollment Secret of the registrar of the CA server. All the details can be obtained from your DLT provider of the CA server.

  • Name:
    • Select the network created in the AWS Managed Blockchain network
    • Go to the Members tab
    • Copy the Member ID
  • URL:
    • Enter the URL created for the CA server in Route53
    • Add 7054 as the port number
  • Registrar:
    • The details mentioned while configuring the blockchain network on AWS

Peers

Select the organization that the peer will be associated with. Enter the name, URL, and event URL of the peer that will be added. All the details can be obtained from your DLT provider of the peer.

  • Name:
    • Select the network created in the AWS Managed Blockchain network
    • Go to the Members tab
    • Select the member
    • Select the node
    • Copy the peer endpoint
    • Remove the port number
  • URL:
    • Enter the URL created for the peer in Route53
    • Add 7051 as the port number
  • Event URL:
    • Enter the URL created for the peer in Route53
    • Add 7053 as the port number

Ethereum

URL

Enter the GRPC URL of the Ethereum Network to be added to Xooa. You may specify the URL of any private network, testnet, or MainNet node for this purpose.

WS URL

Enter the Web Socket URL of the Ethereum Network node that Xooa will interact with.

Funding account address

Address of the funding account for ether(gas). This account will be used to collect ether for deploying apps and running the smart contracts.

Funding account PrivateKey

PrivateKey of the funding account. This is required to debit the ether from the funding account for app deployment and running the smart contracts.

Export network

Exporting a network allows you to export configuration of the whole network including orderers, organizations, CA servers, and peers in a JSON format. The exported file may be edited or shared with other Xooa users.

Import existing network

A JSON file in a format of a Xooa network export file may be used to ease while adding a new outside network.

Delete network

You may delete an outside network if no app is deployed on the network.

External Peers

Blockchain data may be disseminated outside Xooa by deploying an External Peer. Once syncing is complete, all your data will be available on the external peer. We provide only limited crypto material for bootstrapping a peer to connect to the Xooa network and sync your blockchain ledger.

Observing Peers

The observing peers are available for a Xooa ledger, a custom smart contract ledger, or any network added to Xooa.

You can also download observing peers for the ledger that has been shared with you. The peer will keep in sync with all the shared ledgers as well.

We provide deployment templates for the leading public clouds such as IBM, AWS, Google, and Azure, or the peer can be deployed on-premise as well.

The downloaded peer is coupled with the blockchain ledger. It can be used to view transactions by visiting http://<peer ip>:8080/

Endorsing Peers

The endorsing peers are available for a Xooa ledger, a custom smart contract ledger, or any network added to Xooa.

You can also download endorsing peers for a ledger that has been shared with you. The peer will keep in sync with all the shared ledgers as well.

Create Endorsing Peer

Enter a peer label and organization name to get started. Request URL and Event URL are optional at the time of peer creation.

Follow the instructions for the corresponding platform that the endorsing peer needs to be deployed on.

Test Endorsing Peer

Enter the Request and Event URLs of the endorsing peer to test the connection and save the endpoints. These endpoints will be used for communicating with the endorsing peer.

Endorsement Policy

Endorsement policy can be defined for each app. You can navigate to the Manage tab of any app to define its endorsement policy.

 

Note

Deleting a peer will revoke the access of an external peer. It will no longer sync with Xooa. Access to already synced data will remain available with the external peer.

Ledger

The Ledger tab allows you to browse activity for your Xooa ledger, custom smart contract ledger, and shared ledgers.

You can:

  • Get an overview of activity
  • View and search transactions and blocks
  • View block signatures
  • Dashboard

    Overview of current and recent activity on the ledger.

  • Blocks

    Details about blocks generated in the ledger.

  • Transactions

    Details of transactions.

screenshot

User management

This feature allows you to provide full access of the Xooa account to other Xooa users. Enter the email address associated with the account used to log into Xooa and they will get an email inviting them to your account.

To manage users:

  • Click on profile icon at the top-right corner.
  • Click User Management.

Full access

You will be able to access the account of other users with all the privileges of the base account. You can collaborate with your team by giving full access to your account.

You can revoke access to your account by clicking User Management, and then clicking Revoke next to the email you want to stop sharing with.

Deployment Token

A deployment API token holds a set of permissions to access the deployment APIs. From the Deployment Token tab, you can perform actions such as:

  • Add Token
  • Delete Token
  • Explore Deployment APIs
  • Label

    A descriptive label for the token. Notice that the label needs to be unique.

  • Token Generated On

    Local date and time for when a token was generated.

  • Actions
    • Revoke: Revokes the deployment API token. Actions performed in the past using the token are not affected.

Write Code

The Write code feature as the name suggests allow you to write smart contract code directly in the Xooa console and deploy immediately on the blockchain network.

Supported languages

Sample codes for each of the supported languages are also available below the IDE.

Hyperledger Fabric

  • GoLang
  • Node.js
  • Java

Ethereum

  • Solidity

 

Note

For Node.js smart contract, fabric-shim interface is supported only. If you would like to include multiple files or use high level interface, use local upload, GitHub or VS code extension as the deployment menthod.

Apps

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 of World State.
  • Create, modify, or delete the key and its associated value from the World State (for XLDB only).

Transactions

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.

API

Sandbox

  • 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.

Monitoring

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.

Activities

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

Identities

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.

     

    Note

    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.

Logs

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.

Manage

Delete your app from Xooa, manage 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 of 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.

Dashboard

Visualize your data in the form of charts or tables. Adjust the metrics according to your requirement. Personalize your dashboard for each app. Also you can 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:

Measure

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

Measures are the aggregations you can define and use in your dashboard elements. The aggregation 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 query. eg. COALESCE(student_age (field),0)+COALESCE(employee_age (field),0). Here student_age and employee_age are the fields.
  • Filters can also be added to the aggregation query. eg. employee_type (field)=‘sales’. Here employee_type is a field.
Field

Fields defined in the Manage Schema tab can be used here. Some 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. You can add either from the suggested fields or add a custom field. The suggested fields are based on the last 25 transactions of the app.

  • Label for field will be shown in the dashboard element.
  • Field is used to map the value field of the state.

 

Note

Kindly define correct Data type of each field. This step is necessary to avoid any inconsistency.

Time

Transactions Created and State Created time along with any field defined with data type as time can be used as a dimension of time. This dimension will always take the y-axis in a 2D chart.

Filter

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. You can choose among Line, Area, Bar, Pie, Table or Number as a chart type for your dashboard element.

Last updated: November 27, 2019