Thursday, 1 May 2025

EBSI Open Source Release


 

The European Blockchain Services Infrastructure (EBSI) has officially released its software as open source, marking a significant milestone in its development and aligning with the European Commission’s open source agenda.

What is EBSI ?

EBSI is a distributed network of blockchain nodes across Europe, designed to support cross-border digital public services. Its goal is to enhance trust, transparency, and efficiency in transactions between citizens, businesses, and public administrations.

Key Use Cases

Key use cases include Verifiable Credentials, Digital Identity, Document Traceability, and Trusted Data Exchange.

The release is governed by the European Public Licence (EUPL), a legally interoperable open source license developed by the European Commission. Initially created for use within EU institutions and Member States, the EUPL has gained wide recognition from both the Open Source Initiative and the Free Software Foundation.

As part of the open-source initiative, EBSI has released 11 repositories that include:

  • A multi-node Ethereum-based network;
  • All EBSI Smart Contracts;
  • APIs for interacting with the Smart Contracts;
  • A network monitoring stack.

The aim of this release is to empower public institutions, businesses, and developers to contribute to and benefit from EBSI-like infrastructure. It enables rapid innovation and fosters a collaborative, transparent environment to support Web3 solutions.

Repository link: https://code.europa.eu/ebsi/public

Follow below for more information

https://ec.europa.eu/digital-building-blocks/sites/display/EBSI/EBSI+releases+code+as+open+source

Tuesday, 24 September 2024

Hyperledger Fabric 3.0 is Released

 


The Linux Foundation Decentralized Trust has unveiled Hyperledger Fabric 3.0, introducing Byzantine Fault Tolerant (BFT) consensus to enhance decentralization for enterprise blockchain deployments. This update aims to bolster the reliability and security of blockchain networks, making them more robust for various applications. Key enhancements include:

  1. Byzantine Fault Tolerant (BFT) Consensus: Utilizing the SmartBFT protocol, this mechanism ensures network operation even if some nodes are compromised, maintaining blockchain integrity and consistency.
  2. Performance Improvements: Building on version 2.5, Fabric 3.0 offers enhanced performance, speed, and privacy for enterprise blockchain deployments.
  3. Modular Architecture: The update continues to leverage Hyperledger Fabric’s modular architecture, providing flexibility and customization to meet diverse enterprise needs.
  4. Enhanced Security and Reliability: The integration of the SmartBFT consensus library increases network resilience and reliability, making it more robust against potential failures.
  5. Enterprise-Grade Features: Fabric 3.0 supports complex, production-ready blockchain applications, suitable for a wide range of industry use cases.

To upgrade from Hyperledger Fabric 2.5 to 3.0, follow these steps:

  • Backup: Ensure you back up the ledger and Membership Service Providers (MSPs).
  • Upgrade Orderer Binaries: Perform a rolling upgrade of the Orderer binaries to the latest version.
  • Upgrade Peer Binaries: Similarly, upgrade the peer binaries in a rolling fashion.
  • Update Channels: Update the Orderer system channel and any application channels to the latest capability levels available.

References:

https://www.lfdecentralizedtrust.org/announcements/version-3.0-of-hyperledger-fabric-an-lf-decentralized-trust-project-now-available

https://hyperledger-fabric.readthedocs.io/en/latest/upgrade.html

Tuesday, 27 August 2024

Convergence of Blockchain and Artificial Intelligence (AI)

 


The timeline of AI and Blockchain convergence is divided into three eras:

1.Emerging: The initial phase where the technologies are developed independently.

2.Convergence: The current phase where the technologies begin to integrate, focusing on data manipulation, legacy system applicability, and hardware issues.

3.Application: The future phase where the integrated technologies will impact various sectors like cybersecurity, finance, energy, and smart cities.

This convergence is expected to create more secure, privacy-preserving digital environments and is predicted to significantly grow in market size. The union of AI and blockchain signifies a leap forward in creating robust frameworks for data integrity and establishing trust in AI systems, marking a new era of technological advancement.

Below is the summary how this convergence can address real time business problems.

  • AI and Blockchain as Agents of Change: Both AI and blockchain are transforming their respective fields, offering new ways to address the challenges of the digital age.
  • Synergistic Relationship: The integration of AI with blockchain amplifies their strengths, leading to increased trust, transparency, and efficiency in AI, and improved operations and security in blockchain.
  • Enhanced Capabilities: AI’s data analysis and decision-making process, combined with blockchain’s decentralization, transparency, and security, can foster innovative solutions.
  • Addressing Challenges: This convergence can tackle technological and societal issues, such as money laundering and terrorism financing, by optimizing operations and enhancing security.
  • Revolutionizing Sectors: The fusion of AI and blockchain is set to revolutionize various industries by introducing new paradigms in data management, automation, and secure, decentralized operations.
  • Challenges and Solutions: Data is fundamental to innovation but also brings challenges like user privacy, misuse of personal information, and data breaches. Challenges in data sharing are addressed, proposing solutions for improved data integrity and consent management.

Here are some specific use cases using Blockchain-AI convergence.

  • Healthcare: Secure sharing of medical records and AI-driven diagnostics can improve patient outcomes and privacy.
  • Finance: AI can enhance blockchain-powered financial platforms by enabling smarter, adaptive contracts and fraud detection.
  • Supply Chain Management: Blockchain can improve the traceability of goods, while AI can optimize logistics and predict demand.
  • Personalized Healthcare Solutions: AI algorithms can analyze blockchain-stored patient data to provide personalized treatment plans.
  • Fraud Detection and Financial Compliance: Combining AI’s predictive analytics with blockchain’s immutable records can help in detecting fraudulent activities and ensuring compliance.
  • Decentralized AI Marketplaces: These marketplaces allow for the buying and selling of AI algorithms and data sets, with blockchain ensuring secure transactions3.
  • Smart Contracts and AI Automation: AI can be embedded in smart contracts on a blockchain to execute transactions, resolve disputes, or recommend actions based on set thresholds and events.

Wednesday, 5 September 2018

Set Up Jboss Fuse (6.2.1)

Below are the basic steps for setting up Jboss Fuse (6.2.1)

1) Download JBoss Fuse binaries jboss-fuse-full-6.2.1.redhat-084.zip

2) Unzip the binaries in a directory

3) Navigate to <directory>/jboss-fuse-6.2.1.redhat-084/etc/

4) Edit file users.properties and uncomment last line, it should be like below
admin=admin,admin,manager,viewer,Monitor, Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser

5) Navigate to /<directory>jboss-fuse-6.2.1.redhat-084/bin directory

6) execute below to start the server
./fuse &

7) Now access the Jboss Fuse console from http://<IP_ADDRESS>:8181/hawtio

What is JBoss Fuse ?

Basics of JBoss Fuse :


  •        Easy to deploy – sophisticated tooling, connectors,small footprint makes it easy to deploy with less hardware and limited IT staffing
  •     Many deployment options – deploy on-premise or in the cloud in any configuration, and change on the fly with automated provisioning
  •     Standards-based – commitment to industry standards ensures that JBoss infrastructure is easy to modify and maintain 
  •     Centralised management – innovative tooling makes it ease to configure, deploy, manage and maintain integration infrastructure
  •     Open source – less expensive and pay as you go to reduce over all costs in all stages of the project

References: https://developers.redhat.com/products/fuse/overview/?referrer=jbd 

Wednesday, 27 April 2016

JBoss Fuse: OSGI bundle deployment error ( 'json-jackson' could not be created)



JBoss Fuse: OSGI bundle deployment error ( 'json-jackson' could not be created)

During Jboss Fuse deployment ( of OSGI bundle) you may get errors at runtime. For example

java.lang.IllegalArgumentException: Data format 'json-jackson' could not be created. Ensure that the data format is valid and the associated Camel component is present on the classpath

This is because of any specific feature is not installed , in this case it is json-jackson. Search this specific feature in the karaf container executing 'features' command in Fuse CLI.

JBossFuse:karaf@root> features:list |grep camel-jackson
[uninstalled  ] [2.15.1.redhat-621084 ] camel-jackson


Solution: This clearly indicates that above feature is not installed. Install this feature as below.

JBossFuse:karaf@root> features:install camel-jackson

Now redeploy your application.

Monday, 31 December 2012

JProfiler Installation & Configuration for Weblogic

In below details you will be able to configure the Jprofiler in Weblogic server environment. Profiling the Weblogic application server is tricky. By following the below steps you can easily set up the environment.
Refer below link for complete JProfiler documentation. (JProfiler Documentation)

1.     Introduction

JProfiler eases developers in creating more efficient applications by improving their performance. It is oriented towards testing and exploring different aspects of the performance of a Java program, concerning the operation of the JVM making use of available platform resources.

JProfiler provides the following functionality:
·         Memory consumption measurement
·         Memory stack frames tracing
·         CPU loads profiling
·         Momentary heap allocation information
·         Thread state progress statistics
·         Visual representation of VM work loads by different parameters
·         Source code reference
·         Garbage collection during profiling
·         Remote profiling
·         Profiling only of a particular stage or a combination of several stages of the program life cycle
·         Using different target environments
·         Saving profiler information for further examination
·         Exporting profiler information in text format

On the all the servers that has JProfiler component listed, following steps have to be carried out:-
1)Login to the linux box as a non-root user

2)Download the TAR.GZ Archive ( jprofiler_linux_7_1_2.tar.gz) for JProfiler  and keep the license key with you.

3)Upload jprofiler_linux_7_1_2.tar.gz to the box (for eg in /home/oracle  directory)

4) Execute the below commands:
                   gunzip jprofiler_linux_7_1_2.tar.gz
tar xf jprofiler_linux_7_1_2.tar

5) Ensure the software to export display is available in the local box (E.g Xserver) and it is running

6) Ensure JRE is set with version >1.5

2.1.1     Additional Steps to be carried out on the JProfiler Server

After completing the Steps listed above in Section 2.1,

1) Navigate to the JProfiler Install Directory

  Ensure that JAVA_HOME & DISPLAY variables are set.
2) Execute the shell script under extracted JProfiler folder
                   <JProfiler Directory>/bin/jprofiler

3) Enter the license key and click on evaluate (this is for trial version), below screen will be shown. Note: License key is only required where JProfiler GUI will be running.




4) To update the license information click on ‘Help’ and then ‘Enter License Key’


Update the information as required ,Click OK to complete License Update.

2.2.1     Profiling Weblogic Admin Server


Modify the server startup script you want to profile as below.  For example if you want to profile the admin server modify the startWebLogic.sh  to append the JProfiler argument

JAVA_VM=
export JAVA_VM
JPROFILER_OPTIONS="-agentpath:<JProfiler Directory>/jprofiler7/bin/linux-x86/libjprofilerti.so=port=<xxxx>,nowait $JPROFILER_OPTIONS"
export JPROFILER_OPTIONS

Note:- If the java version used by Weblogic/jrockit is 64 bit, change the jprofiler lib path in the above section to <JProfiler Directory>/jprofiler7/bin/linux-x64

Add ${JPROFILER_OPTIONS} to the below portion of the startWeblogic script.
if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
        echo "Starting WLS with line:"
        echo "${JAVA_HOME}/bin/java ${JPROFILER_OPTIONS} ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"
        ${JAVA_HOME}/bin/java ${JPROFILER_OPTIONS} ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}
else
        echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"
        ${JAVA_HOME}/bin/java ${JPROFILER_OPTIONS} ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}  >"${WLS_REDIRECT_LOG}" 2>&1
fi


Make changes in above script:
  1. Give the JProfiler installation directory
  2. Give the port number to open the connection for JProfiler Agent.
  3. Restart the server.

  • Step 1: Navigate to the JProfiler Install Directory, Ensure that JAVA_HOME & DISPLAY variables are set.
  • Step 2: Execute the shell script under extracted JProfiler folder , <JProfiler Directory>/bin/jprofiler
  • Step 3: JProfiler window will open , click on ‘Session’ and select ‘New Session’. In case you have saved the session earlier  please skip to Step 9.

  • Step 4: Select ‘Attach to profiled JVM (local or remote)’

  • Step 5: Enter the Host name for the application server need to profiled and the port number (configured in step 2.2)
  • Step 6: Enter the session name as required and click ‘OK’. This session will be saved and next time you can directly open the session.
  • Step 7: JProfiler will try to connect to profiled application server , once connected below screen appears.
Select Instrumentation.
  • Step 8: JProfiler will start collecting data & below screen will be displayed. Start / Stop the several Jprofiler recording as per requirement. 
  • Step 9: In case if you have already saved the session earlier. Open the JProfiler window , Click ‘Session’ and select ‘Open Session’

  • Step 10: Select the previous saved session and Click ‘Open’.

  • Step 11: Click ‘OK’ , Reports will be generated like screenshot attached in Step 8.