Sign in now

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

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

To use Xooa with the internal blockchain ledger, there is no need to configure a network and this section may be skipped. You may extend the Xooa ledger using the instructions below and run peers outside of Xooa.

Xooa Managed ledgers

Xooa provides 3 internal ledgers hosted and managed by Xooa.

  1. Xooa Custom Smart Contracts: This ledger is used (as the name suggests) while deploying a custom smart contract from the Xooa platform. This ledger is shared among all the tenants of the Xooa platform. This is a Hyperledger Fabric network.
  2. Xooa Ledger: This ledger is used to deploy XLDB, a Xooa-managed app, or any of the templates that Xooa provides. This ledger is shared among all the tenants of the Xooa platform. This is a Hyperledger Fabric network.
  3. XooaNetPublic: This is an Ethereum ledger available for Solidity-based smart contracts.

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

Extend a Xooa-Managed Hyperledeger Fabric Ledger

Extending a ledger allows you to distribute the ledger.

You start with a Xooa-managed ledger which is centralized because all the nodes run on Xooa servers. However, by extending it, you can make the ledger distributed. Centralized databases are easier to experiment with and are suited more for early stages such as rapid prototyping, demos, and POCs. Distributed databases are normally used for later stages, such as go-live, when trust is facilitated through decentralization by using blockchain.

You gain multiple benefits from extending the ledger:

  • Backup: Keep a backup of your ledger outside of Xooa.
  • Multi-party trust: You can have a node running by each party involved in a contract. For observing peers, this will allow all parties to keep in-sync with the ledger, while for endorsing peers, this will allow them to take part in endorsement.
  • Endorsement policies: Extending the ledger with an endorsing peer allows the peer to participate in an endorsement policy for each transaction.

Create a custom Organization and Peer

Extending a ledger allows you to disseminate blockchain data outside of Xooa. Once syncing is complete, all your data will be available on the external peer.

Extend a ledger by following these steps:

  • Click on Extend.
  • Provide the Organization and Peer names.
  • The peer is now ready to be downloaded.
  • Follow the instructions on the Xooa console to deploy the external peer on-premise or on any of the leading cloud providers.

Orchestrate a Peer

We provide only limited crypto material for bootstrapping a peer to connect to the Xooa ledger and sync your blockchain ledger.

The peer can be deployed on:

  • On-prem or any docker environment
  • Popular cloud services using preconfigured templates and orchestration steps
    • AWS EC2
    • Azure Compute
    • Google Compute Engine
    • IBM Cloud Compute
    • Oracle Cloud Compute

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

Observing Peer

Every orchestrated peer is by default an observing peer. An observing peer syncs up with the ledger data. It provides access to the ledger explorer on an external peer node.

Endorsing Peer

You can convert an observing peer to an endorsing peer by going through the following steps. This will allow the organization to take part in an endorsement policy.

Make Endorsing Peer(Optional)

  • Navigate to the ledger that the peer is associated with.
  • Go to the Nodes tab.
  • Scroll down to Peers.
  • Find the observing peer that you want to convert to an endorsing peer.
  • Click on Options for that peer.
  • Click Make endorsing.
  • Provide the Request and Event URLs for the peer.
  • Click Test and Save.

If the test of the peer fails, recheck the provided URLs. Retest a peer if the failed test feels like a mistake or if you have made corrections in the peer deployment.

Endorsement Policy The endorsement policy can be defined for each app. You can navigate to the Manage tab of any app to define its endorsement policy. Learn more about endorsement policies on Xooa here.

 

Note

Deleting an organization will revoke the access of all the associated external peers and it will no longer sync with Xooa. Access to already synced data will remain available with the external peer.

Add an External Hyperledger Fabric Ledger

Prerequisites

You can connect a Hyperledger Fabric ledger to Xooa that is functioning and accessible over the Internet. The ledger should be outside of Xooa.

Import Managed Blockchain service ledger definitions of major BaaS providers

Azure Blockchain Network

A simple guide to importing a Hyperledger Fabric ledger deployed on Azure.

Step 1
Step 2
  • Upload the Azure blockchain connection profile JSON files.
  • Upload Admin Crypto JSON files.
Step 3
  • Upload Private Key file of organization admins.
  • Provide Registrar credentials of CA Servers.
Step 4
  • Provide a name for the ledger to identify on Xooa.
  • Provide Channel name used while configuring the network on Azure.
  • Click Save.

Oracle Blockchain Network

A simple guide to importing a Hyperledger Fabric network deployed on Oracle.

Step 1
  • Go to the Oracle Blockchain Platform Console.
  • Click on the Developer Tools tab and navigate to Application Development.
  • Under the OBP section, click on Download the development package.
Step 2
  • Upload the zip file containing the Oracle Development Package.
Step 3
  • Provide Registrar credentials of the CA Servers.
Step 4
  • Provide a name for the ledger to identify on Xooa.
  • Provide the Channel name used while configuring the network on Oracle.
  • Click Save.

IBM Blockchain Network

A simple guide to importing a Hyperledger Fabric network deployed on IBM.

Step 1
  • Retrieve the IBM node files from your network in IBP.
Step 2
  • Upload the IBM node files for the peer, CA, and orderer.
Step 3
  • Upload the wallet configuration files.
  • Provide the registrar details for the CA servers.
Step 4
  • Provide a name for the ledger to identify on Xooa.
  • Provide the Channel name used while configuring the network on IBM.
  • Click Save.

Prepare an AWS Managed Blockchain for integration with Xooa

Guide to importing a Hyperledger Fabric network deployed on AWS.

Step 1
  • Create an AWS Managed Blockchain network with:
    • A channel on the network
    • At least one peer
  • Obtain the TLS certificates
  • Obtain the MSP admin certificates
Step 2
  • 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
Step 3
  • 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 orderers, CAs, and peer subdomains
    • Enter the instance’s IPV4 public IP in the value field while creating the record set
Step 4
  • Continue with the process described below for Hyperledger Fabric ledgers to connect the AWS network to Xooa.

Manually add Hyperledger Fabric Nodes and Keys to a ledger

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

Choose this option if your outside ledger 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. Make sure to obtain information about the nodes from the DLT provider of your Hyperledger Fabric network.

  • Select Hyperledger Fabric as the DLT.
  • Provide the Name for the ledger to identify on Xooa.
  • Provide the channel ID that you want the ledger to connect to on the DLT provider.
Orderers
  • Enter the name of the orderer (For AWS: Enter ordering service endpoint without the port number).
  • Enter the URL of the orderer (For AWS: Enter the URL created for the ordering service in Route53. Add 7050 as the port number).
  • You will be asked for a TLS certificate too if the GRPCS URL is entered.
Organizations
  • Enter the name and MSP of the organization to be added (For AWS: Enter Member ID as name and MSP).
  • Upload the private key and signed certificate of the organization.
  • Select the organization you want to make the default for all transactions.
CA Servers
  • Select the organization that the CA server is associated with. You’ll need at least 1 available organization to add a peer.
  • Enter the name of the CA server (For AWS: Enter Member ID).
  • Enter the URL of the CA server (For AWS: Enter the URL created for the CA server in Route53. Add 7054 as the port number).
  • Enter the Enrollment ID and Enrollment Secret of the registrar of the CA server.
Peers
  • Select the organization that the peer will be associated with. You’ll need at least 1 available organization to add a peer.
  • Enter the name of the peer (For AWS: Enter the peer endpoint without the port number).
  • Enter the request URL of the peer (Enter the URL created for the peer in Route53. Add 7051 as the port number).
  • Enter the event URL of the peer (Enter the URL created for the peer in Route53. Add 7053 as the port number).

Add Ethereum Ledger Managed Outside of Xooa

Configure an Ethereum client and a wallet, if not already available with you, to get started on Ethereum network:

Using Ethereum Client: You can run Geth to start your own node or use Infura.io which provides instant access to Ethereum.

Creating a wallet: Some of the popular wallets you can choose are: Mist or MetaMask to get an account on the Ethereum network.

  • Select Ethereum as DLT.
  • Provide a name for the ledger to identify on Xooa.

Add MainNet or TestNet

  • URL: Use URL from Geth node or provided by Infura.
  • WS URL: Use WS URL from Geth node or provided by Infura.
  • Funding Account address: Use Wallet Address of the account created on a wallet.
  • Funding Account Private Key: Use Private Key of the account created on a wallet. Your Ethereum wallet will hold your ether. Xooa will use the ether from your wallet, which will be required to run the smart contract.

Add other Ethereum Ledgers

You can add other Ethereum ledgers to Xooa as well. It can be either a public or a private ledger.

URL

Enter the GRPC URL of the Ethereum Network to be added to Xooa. You may specify the URL of any private network.

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

Actions

Import Xooa Exported ledger

Xooa offers an easy and simple approach to importing ledgers from popular cloud providers or ledgers exported from Xooa itself.

Export

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

Clone

Cloning a ledger allows you to make a replica of a ledger. You can perform all the actions on a cloned ledger that you can on the original ledger.

Invite

You can invite users to your ledger using their email ID. This will share your ledger with them and allow them to deploy apps on it. They won’t, however, be able to make any changes to the ledger itself.

Ledger

Ledger allows you to browse activity on 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

Last updated: February 16, 2021