Oracle Blockchain Cloud Service gives you a pre-assembled complete platform to create a secure and trusted blockchain network. Out-of-the-box, your instance includes everything you need to build run and monitor a production ready blockchain network. You get a complete blockchain network based on hardened hyperledger fabric architecture with validating peer nodes, membership services provider, ordering service, chaincode build and execution containers, and related tools. In addition, a REST proxy node is provided and a default channel is created.
The console web UI provides access to further configure, administer, and monitor the network, as well as install and upgrade smart contracts also known as chaincode.
Sample chaincode are also included under Developer Tools, where you can deploy and run them to help you understand how blockchain network works. You can configure multiple peer nodes and channels for availability, scalability, and confidentiality, and the underlying dependencies are handled automatically.
Additional instances can be created for other organizations and joined into your blockchain network. This network can interoperate with other hyperledger fabric nodes outside of Oracle Cloud, as long as their versions are compatible.
As an Oracle PaaS offering, Oracle Blockchain Service is pre-assembled with the underlying cloud services including Containers, Compute, Storage Identity Cloud services for authentication, Event Hub cloud services for messaging, object store for embedded archiving, and management and log analytics for operations and troubleshooting.
Because it’s also an Oracle autonomous service, each instance includes replicated resources, monitoring and recovering agents, embedded archiving of configuration data and ledger blocks, pre-integrated authentication and perimeter security via Oracle Identity Cloud, data encryption in transit and at rest, and integration with management and log analytics services. This helps Oracle Operations monitor and troubleshoot any issues. It also includes zero downtime managed patching to help resolve any issues and upgrade the service components without interrupting your operations.
As a permissioned blockchain Network, Blockchain Cloud Service enrolls member organizations and issues their PKI certificates, which are used for signing all messages between network components. This is done using Fabric Certificate Authority as an MSP connected to the Oracle Identity Cloud Service for authenticating accounts and including user roles and access entitlements from IDCS into enrollment certificates.
When a new service instance is created for a participating organization, its dashboard UI includes a guided process for joining the blockchain network. Adding new member organizations begins with exporting their PKI certificate and then importing it to the founding instance using the add organization button in the Network tab. Use the Blockchain Cloud Service console to monitor the network and perform day-to-day administrative tasks.
The fastest way to set up your instance and learn about the console is to install one of the sample chain codes included with your instance. Go to the Developer Tools tab and use the sample page to install, instantiate, and invoke the car dealer sample.
This sample enables a network of car dealers to trade parts and vehicles. Click Install. From the Peers drop-down, select the peers for the sample chain code installation. Click Install. When the sample is installed, the chaincode is copied to the specified peers.
Click Instantiate. Select a channel to instantiate the code to and the REST proxy you want to export the API for this chaincode. Click Instantiate and Enable in REST Proxy. At instantiation it’s compiled and bound to the specified channel, then initialized by calling it’s INIT method. For invoking the chaincodes from a sample page, Blockchain Cloud Service provides a simple wizard to help you select the available actions.
Click Invoke. Select the channel and the action type and then enter the chassis number, owner, manufacturer, model, airbag serial number, and date and click Execute.
View the transaction results. You can create a vehicle and transfer it between dealerships to record a few initial transactions on the ledger. Now, let’s go through the rest of the console and learn about the functionality you’ll use to manage your network.
The first stop is the Dashboard tab. Here you will find at-a-glance information about your network and some gauges to show you its health and utilization. Use the Dashboard to monitor the transaction load by channels and peers. If you identify potential concerns, you can use the other tabs in the console to drill into specifics that need your attention. Next, examine the Network tab.
You’ll find a list of the organizations in your network shown in a tabular or topology view.
Click Topology View. In the topology view, the organizations representing car dealerships are shown as blue circles with peers and other nodes attached. Click List View. To the right of detroitauto, click the Actions menu.
The Actions menu lets you export a variety of information about this instance to enable connectivity with other instances and client applications. Adding a new member organization begins with exporting their PKI certificate. Click Export Certificates and then Export. next, the certificate is imported in the founding instance using the Add Organization button in the Network tab. If you’re an administrator, click the Add Organizations button to launch the wizard to add organizations from other service instances to your network using their exported certificates.
Click Upload Organization Certificates. Select the mark dealership certificates JSON and click Open. Click Add. You can also add organizations running compatible versions of Hyperledger Fabric outside of the Oracle Cloud.
Click Finish to complete the connection.
The mark dealership organization needs information about the ordering service for this network, so click Export Orderer Settings to export the orderer detail. On the participant dashboard, click Import Orderer Settings in the guide, and then again under it. Select the detroit auto orderer settings JSON and click Open. Click Import and then Complete. The join process went well.
After adding organizations to the founder, they’re displayed on the founders Network tab in a table and topology view. Next, go to the Nodes tab. This table displays all of the nodes in your network…
the console, MSP, orderers, REST proxy, and remote peers from other organizations if they’ve been imported in this instance.
You can use the Actions menu on the right edge of each row for additional functions such as stopping or starting a node, editing its configuration, and for peers, joining them to a new channel. If you’re an administrator, you can use the Add Node button to create additional peer nodes or REST proxy nodes. Click Add Node and select Peer. Click Submit.
In addition, you can use the Export/Import button to share information on peer nodes with other organizations and import information about their peers. Click Export/Import Peers and select Export. Select a Peer and then click Export. On the founder’s Node page, click Export/Import Peers again but this time select Import. Click Upload remote nodes configurations.
Select the mark dealerships exported nodes JSON and click Open. Click Import. Scroll down to verify that the mark dealership node was imported. Click a node to see its health and other information. We can also see the chaincodes installed, the channels it belongs to, and its log messages.
Click Refresh to make sure you’re seeing the latest information. Click Logs. Use the Log for drop down to display logs by peer or chaincode. Click a log to display the details. Click Nodes to toggle back to the Nodes page.
The Nodes page also provides a topology view where local and remote peers are shown in relationship to the channels they belong to. Peer nodes are displayed on the left and channels on the right side of the diagram. Each channel maintains a separate ledger, which is only accessible to the peers from member organizations that are authorized to access this channel. All transactions specify a channel by name so that only peer nodes on the named channel get the requests and can execute the relevant smart contracts to update and query the channel’s ledger. Go to the Channels tab to see the channels visible to this organization and select a channel.
Click the dealer trade channel. The channel’s ledger is displayed as a series of blocks and by highlighting a block you display its transactions and can further expand details of each transaction.
Click Channels to toggle back to the Channels page. If you’re an administrator, you can use the Create a New Channel button to create new channels and specify organizations allowed to participate. Click Create a New Channel.
Enter a channel name. Select the check boxes for the organizations you want to add to the new channel and select the peers you want to join to the channel. Click Submit. The channel is added. For remote peers under other organizations that you’ve already authorized to join, their administrator would use their instances console to join its peer nodes to the channel on the participant Nodes page.
To the right of the peer0-1 node, click Actions and select Join New Channels. Select a channel and click Join. Click the channels tab. To the right of the trade dealer channel, click Actions to see the Join Peers to Channel menu, which enables you to join additional peer nodes to the channel, too. Next stop, the Chaincodes tab.
Here, you can display a list of the deployed chaincodes and add new ones. On the founder Chaincodes page, expand the sample car dealer chaincode you installed earlier. Click the V0 version to display more information about where it’s installed and instantiated.
Click Chaincodes to toggle back to the Chaincodes page. Click Deploy a New Chaincode.
If you’re an administrator, you can use install chaincode wizard to deploy a new chaincode on the network. Click Advanced Deployment. The wizard handles installing the chaincode, instantiating it on a channel, and optionally exporting its REST endpoint for access via REST proxy. Enter a chaincode name, specify a version, and select the targeted peers.
Click Upload Chaincode File to import the chaincode source.
The chaincode source must be in a zip package with the directory as the top-level element. Import the sample chaincode vehicle net. Click Next. Select the channel and peers. Optionally, you can specify endorsement policy and transient map details.
Click Next. Select the REST proxy nodes and peers and click Next. And you’re done! Quick install deploys the chaincode on all peers and configures default endorsement policies. You can easily invoke it via REST API using Postman, Curl, or any external application.
Visit the ledger browser on the channel to see this latest transaction.
When you need to upgrade the chaincode, you can use the Upgrade option on the Chaincode page. Go to the Chaincodes page, and to the right of the dealership’s chaincode, click Actions to display the Upgrade option. Ready to start developing a blockchain application? Visit the Developer Tools tab here we have helpful documents and configurations for chaincode developers and application developers, as well as provide chaincode samples to help you learn how to implement and manage your network’s chaincodes.
If you need more information about any of the functionality described in this video, go to the documentation library at docs.oracle.com/ en/cloud/paas/blockchain-cloud and learn more at cloud.oracle.com forward slash blockchain.
Read More: What Is Chainlink? A Two-Minute Explainer