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