Getting Started with Oracle Blockchain Platform on Oracle Cloud Infrastructure
This section describes how to get started with Oracle Blockchain Platform for Oracle Cloud Infrastructure administrators.
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.
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.
- For information on IAM and identity domains, see Overview of IAM.
- For more information about IDCS and how Oracle Blockchain Platform uses it, see Set Up Users, Access Roles, and Permissions.
- For information on when to use IAM and when to use Oracle Identity Cloud Service to log in, see Understanding the Sign-In Options.
- For information on the migration of existing Oracle Cloud accounts to Identity Domains, see Migrating to OCI IAM: What Oracle IDCS customers need to know
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.
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
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. |
|
(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. |
|
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. |
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.
- 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.
- 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.