Sign in now

Networks

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

Most of Xooa 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 ethereum or hyperledger fabric DLT.

Hyperledger Fabric

Channel Id

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

IBM

Choose this option if your outside network is established on IBM as the DLT cloud provider.

Prerequisite:
  • Create an IBM managed blockchain network with:
    • 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 Xooa console, upload IBM node files for 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. 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 registrar details used while creating the network on IBP.

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

Non IBM 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 orderers, organizations, CA servers, and peers.

Prerequisite:
  • Create an AWS managed blockchain network with:
    • Channel on the network
    • At least one peer
  • Obtain TLS certificates
  • Obtain MSP admin certificates

  • Create a cloud formation stack:
    • Use template: https://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 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 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 subdomain.
    • Enter the instance’s IPV4 public IP in the value field while creating the record set.
Orderers

On Xooa console, enter the name and URL of the orderer to be added. You will be asked for a TLS certificate too if 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 ordering service endpoint.
    • Remove port number.
  • URL:
    • Enter URL created for ordering service in the Route53.
    • Add 7050 as the port number.
Organizations

Enter the name and MSP of the organization to be added. Also, upload 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 Member ID.
  • MSP:
    • Enter 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 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 Member ID.
  • URL:
    • Enter 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 for the peer to be associated with. Enter name, URL and event URL of the peer to 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 peer endpoint.
    • Remove the port number.
  • URL:
    • Enter URL created for the peer in the Route53.
    • Add 7051 as the port number.
  • Event URL:
    • Enter URL created for the peer in the 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, a testnet or MainNet node for this purpose.

WS URL

Enter the Web Socket URL of the Ethereum Network node 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 an 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 each for Xooa ledger, 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 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 each for Xooa ledger, custom smart contract ledger or any network added to Xooa.

You can also download endorsing peers for the 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 creating the peer.

Follow the instructions for the corresponding platform 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 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’s ledger, custom 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

Share

Sharing allows you to provide either full access or limited access to the blockchain ledger explorer to other Xooa users. Enter the email address associated with the account with which they log in to Xooa and they will get an email inviting them to your account or ledger.

Ledger access

Ledgers that are shared with you will appear in your ledger explorer and you can select between your ledger and shared ledgers:

Screenshot of a ledger explorer with a shared ledger

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 or ledger explorer by clicking Share, 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 is not affected.

Write Code

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 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 using 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

    Identity used to make the API call.

Activities

Provides a history of activity 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 for only 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 endorses the transaction.

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

Apply endorsement policy

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

Last updated: November 27, 2019