Getting Started with Oracle Blockchain Platform on Oracle Cloud Infrastructure

About Oracle Blockchain Platform

Oracle Blockchain Platform gives you a pre-assembled platform for building and running smart contracts and maintaining a tamper-proof distributed ledger.

Oracle Blockchain Platform is a network consisting of validating nodes (peers) that update the ledger and respond to queries by executing smart contract code—the business logic that runs on the blockchain. External applications invoke transactions or run queries through client SDKs or REST API calls, which prompts selected peers to run the smart contracts. Multiple peers endorse (digitally sign) the results, which are then verified and sent to the ordering service. After consensus is reached on the transaction order, transaction results are grouped into cryptographically secured, tamper-proof data blocks and sent to peer nodes to be validated and appended to the ledger. Service administrators can use the Oracle Blockchain Platform web console to configure the blockchain and monitor its operation.

With Oracle Blockchain Platform, you complete some simple instance creation steps, and then Oracle takes care of service management, patching, backup and restore, and other service lifecycle tasks.

For information about available features, see Using Oracle Blockchain Platform.

About Application and Network Security in Oracle Blockchain Platform

Oracle Cloud Infrastructure Identity and Access Management (IAM) helps you secure your blockchain platform through the use of compartments, users, roles, and policies.

When you set up your tenancy, you'll create compartments for your instance. Policies are used to control access to these compartments. See:

You'll use IAM security policies to grant Blockchain Platform administrative permissions. You can set up security policies that give other users permission to set up and manage Oracle Blockchain Plarform instances. See Using Permissions and Policies to Administer Oracle Blockchain Platform.

New Oracle Cloud accounts in regions that have been updated to use identity domains manage users, groups, and roles through Oracle Cloud Infrastructure Identity and Access Management (IAM) identity domains.

Existing Oracle Cloud accounts and new accounts in regions that haven't migrated to IAM identity domains still include access to Oracle Identity Cloud Service (IDCS). You use IDCS to add users and groups and assign roles for Oracle Blockchain Platform.

In addition, Oracle Cloud provides a reliable and flexible network security infrastructure to further control how clients, administrators, and other cloud services access your service instance and its applications. By default, your service instances can only be accessed over secure protocols like HTTPS and SSH.

What's a Platform Version?

Oracle Blockchain Platform is based on the Hyperledger Fabric open source project from the Linux Foundation. Starting with version 21.4.1, a new underlying version, or platform version, of Hyperledger Fabric is available. Oracle Blockchain Platform now supports Hyperledger Fabric v2.2.4 as well as existing instances of Hyperledger Fabric v1.4.7.

Typically, for new instances, you'll run the latest platform version available. Oracle Blockchain Platform supports and enhances the following new functions of the Hyperledger Fabric v2.2.4 platform:

  • Decentralized governance of chaincodes. A new life cycle for installing chaincode on peers and starting it on a channel enables new decentralized modes of collaboration and consensus. Multiple organizations can agree on chaincode parameters, including the chaincode endorsement policy, before a chaincode is deployed on the channel. These functions are implemented in the new quick deployment and advanced deployment wizards, as well as in the REST API. To learn more about deploying chaincodes on Hyperledger Fabric v2.2.4, see Deploy and Manage Chaincodes on Hyperledger Fabric 2.2.4. For more information about the new life cycle, see Fabric chaincode lifecycle in the Hyperledger Fabric v2.2.4 documentation.
  • Private data collection enhancements. You can specify an endorsement policy to control access to a private data collection. Also, every chaincode has an implicit private data collection specific to the organization. For more information, see Implicit private data collections in the Private data section of the Hyperledger Fabric v2.2.4 documentation.

Starting with version 22.2.1 of Oracle Blockchain Platform, you can upgrade existing instances that are running on Hyperledger Fabric v1.4.7 to use Hyperledger Fabric v2.2.4. For more information, see Upgrade an Instance.

For more information about Hyperledger Fabric v2.2.4, see What’s new in Hyperledger Fabric v2.x.

Integration with Oracle Cloud Infrastructure

Blockchain Platform is integrated with Oracle Cloud Infrastructure services and features.

Identity and Access Management (IAM)

Oracle Cloud Infrastructure Identity and Access Management (IAM) lets you control who has access to your cloud resources. You can control what type of access a group of users have and to which specific resources. See Overview of Oracle Cloud Infrastructure Identity and Access Management.

For information on how IAM policies are used in Blockchain Platform, see Using Permissions and Policies to Administer Oracle Blockchain Platform.

Work Requests

Work requests allow you to monitor long-running operations such as the provisioning of instances. When you launch such an operation, the service spawns a work request. A work request is an activity log that enables you to track each step in the operation's progress. See Work Requests.

Blockchain Platform is not integrated with the common Work Requests API.

For information on how work request REST APIs are used in Blockchain Platform, see Blockchain Platform REST API documentation.

Events

Oracle Cloud Infrastructure Events enables you to create automation based on the state changes of resources throughout your tenancy. Use Events to allow your development teams to automatically respond when a resource changes its state. See Overview of Events.

For information on how events are used in Blockchain Platform, see Service Events.

Monitoring

The Oracle Cloud Infrastructure Monitoring service enables you to actively and passively monitor your cloud resources using the Metrics and Alarms features. See Monitoring Overview.

For information on how monitoring is used in Blockchain Platform, see Monitor Metrics

Region Availability

Oracle Blockchain Platform is currently available on data regions in North America, Europe, and Asia-Pacific (APAC). Thereafter, Oracle Blockchain Platform may expand to other regions.

For the latest information on availability in regions, see Data Regions for Platform and Infrastructure Services.

For information about regions hosting Oracle Cloud Infrastructure, see Regions and Availability Domains.

Service Limits

Oracle Blockchain Platform has various default limits. Whenever you create an Oracle Blockchain Platform instance, the system ensures that your request is within the bounds of your limit. The limit that applies to you doesn't depend on which edition and size you subscribe to (Standard Edition or Enterprise Edition).

Resource Limit Limit Short Name Default Value (Universal Credits) Description
Oracle Blockchain Platform Count platform-count 100 Maximum number of Blockchain Platforms available with Oracle Blockchain Platform

You can submit a request to increase your limits from Limits, Quotas, and Usage page in Oracle Cloud Infrastructure Console.

See About Service Limits and Usage.

Service Quotas

You can use quotas to determine how other users allocate Oracle Blockchain Platform resources across compartments in Oracle Cloud Infrastructure. Whenever you create an Oracle Blockchain Platform instance or scale up, the system ensures that your request is within the bounds of the quota for that compartment.

The quota that you use to allocate Oracle Blockchain Platform resources depends on which edition you subscribe to: Professional Edition or Enterprise Edition.

Quota Name Scope Description
platform-count Regional Number of Blockchain Platforms

Example Quota Statements for Oracle Blockchain Platform

  • Limit the number of Blockchain Platforms that users can create in compartment CompA to 2.

    set blockchain quota 'platform-count' to 2 in compartment CompA

  • Prevent users from creating any Blockchain Platforms in compartment MyCompartment

    zero blockchain quota 'platform-count' in compartment MyCompartment

See About Compartment Quotas.

Service Events

Actions that you perform on Oracle Blockchain Platform instances emit events.

You can define rules that trigger a specific action when an event occurs. For example, you might define a rule that sends a notification to administrators when someone deletes an instance. See Overview of Events and Get Started with Events.

This table lists the Oracle Blockchain Platform events that you can reference.

Event Name Event Type
Blockchain Platform - Instance - Change Compartment com.oraclecloud.blockchain.changeplatformcompartment
Blockchain Platform - Instance - Create Instance Begin com.oraclecloud.blockchain.createplatforminstance.begin
Blockchain Platform - Instance - Create Instance End com.oraclecloud.blockchain.createplatforminstance.end
Blockchain Platform - Instance - Delete Instance Begin com.oraclecloud.blockchain.deleteplatforminstance.begin
Blockchain Platform - Instance - Delete Instance End com.oraclecloud.blockchain.deleteplatforminstance.end
Blockchain Platform - Instance - Scale Instance Begin com.oraclecloud.blockchain.scaleplatforminstance.begin
Blockchain Platform - Instance - Scale Instance End com.oraclecloud.blockchain.scaleplatforminstance.end
Blockchain Platform - Instance - Start Instance Begin com.oraclecloud.blockchain.startplatforminstance.begin
Blockchain Platform - Instance - Start Instance End com.oraclecloud.blockchain.startplatforminstance.end
Blockchain Platform - Instance - Stop Instance Begin com.oraclecloud.blockchain.stopplatforminstance.begin
Blockchain Platform - Instance - Stop Instance End com.oraclecloud.blockchain.stopplatforminstance.end
Blockchain Platform - Instance - Update Instance Begin com.oraclecloud.blockchain.updateplatforminstance.begin
Blockchain Platform - Instance - Update Instance End com.oraclecloud.blockchain.updateplatforminstance.end
Blockchain Platform - OSN - Create OSN Begin com.oraclecloud.blockchain.createosn.begin
Blockchain Platform - OSN - Create OSN End com.oraclecloud.blockchain.createosn.end
Blockchain Platform - OSN - Delete OSN Begin com.oraclecloud.blockchain.deleteosn.begin
Blockchain Platform - OSN - Delete OSN End com.oraclecloud.blockchain.deleteosn.end
Blockchain Platform - OSN - Update OSN Begin com.oraclecloud.blockchain.updateosn.begin
Blockchain Platform - OSN - Update OSN End com.oraclecloud.blockchain.updateosn.end
Blockchain Platform - Peer - Create Peer Begin com.oraclecloud.blockchain.createpeer.begin
Blockchain Platform - Peer - Create Peer End com.oraclecloud.blockchain.createpeer.end
Blockchain Platform - Peer - Delete Peer Begin com.oraclecloud.blockchain.deletepeer.begin
Blockchain Platform - Peer - Delete Peer End com.oraclecloud.blockchain.deletepeer.end
Blockchain Platform - Peer - Update Peer Begin com.oraclecloud.blockchain.updatepeer.begin
Blockchain Platform - Peer - Update Peer End com.oraclecloud.blockchain.updatepeer.end

Example

This example shows information associated with the event Blockchain - Instance - Create Instance Begin:

{
        "cloudEventsVersion": "0.1",
        "contentType": "application/json",
        "source": "blockchain",
        "eventID": "<unique_ID>",
        "eventType": "com.oraclecloud.blockchain.createplatforminstance.begin",
        "eventTypeVersion": "<version>",
        "eventTime": "2020-06-14T00:53:04.126Z",
        "data": {
            "additionalDetails": {},
            "availabilityDomain": "<availability_domain>",
            "compartmentId": "ocid1.compartment.oc1..<unique_ID>",
            "compartmentName": "my_compartment",
            "freeformTags": {},
            "resourceId": "ocid1.blockchaininstance.oc1..<unique_ID>",
            "resourceName": "my_blockchain_cloud"
        },
        "extensions": {
            "compartmentId": "ocid1.compartment.oc1..<unique_ID>"
        }

Workflow for Administering Oracle Blockchain Platform

To start using Oracle Blockchain Platform, refer to the following tasks as a guide.

Task Description More Information

Before you start

Activate your order and sign in to Oracle Cloud Infrastructure

As Cloud Account Administrator, you can complete all setup tasks for Oracle Blockchain Platform.

Sign up for your Oracle Cloud Account

Sign In For the First Time

(Recommended) Create a compartment for your service Create a compartment for your Oracle Blockchain Platform deployment. Before You Create Your Instance
Create the service instance    

Provision an instance

Set up and configure your Oracle Blockchain Platform components.

Create an Oracle Blockchain Platform Instance Using the Console

Complete the setup

Verify that your service instance is up and running and that you can sign in.

Verify Your Instance

After creating your service instance

 

Manage users

Set up users for Oracle Blockchain Platform in Oracle Identity Cloud Service (IDCS) or an Oracle Cloud Infrastructure Identity and Access Management (IAM) identity domain and assign roles to them.

Set Up Users, Access Roles, and Permissions

After you’ve created your instance and any required users, you can begin to use Oracle Blockchain Platform as described in Using Oracle Blockchain Platform.

Accessing the Oracle Cloud Infrastructure Console

Oracle Blockchain Platform can be accessed through a web-based console.

To access the console:
  1. Sign in to Oracle Cloud. If you received a welcome email, use it to identify the URL, your user name, and your temporary password. After signing in, you will be prompted to change your password.
  2. From the Infrastructure Console, click the navigation menu in the top left corner, and then select Blockchain Platform. Note that in newer versions of the Console, it can be found under Developer Services.
For more information about signing into Oracle Cloud Infrastructure for the first time including supported browsers and console URLs, see Signing In to the Console.