A seasoned software engineer with expertise in cloud-native development, data transformation, and blockchain technologies. I've worked with companies such as the London Stock Exchange Group, HCL Software, and Accenture, focusing on Java development, blockchain deployments, and smart contracts. My expertise includes AWS, Hyperledger Fabric, Ethereum, Docker, Kubernetes, and Python.
Senior Software Engineer
London Stock Exchange Group(LSEG)Senior Software Engineer - I
HCL SoftwareSenior Application Development Analyst
Accenture Solutions Pvt. Ltd.Kubernetes
GKE
EKS
Docker
Ansible
Helm
Jmeter
Selenium
Solidity
Hyperledger Fabric
Python
Java
Ethereum
Apache JMeter
AWS (Amazon Web Services)
Project 1: WORLD CHECK ONE(WC1):
Projects:
Project 1: Integration Platform(ITX/HIP):
Project 2: HIP-Adapters:
Project 3: Unica-HIP:
Project 1: hyperledger/bevel: https://github.com/hyperledger/bevel#contributors-
Project 2: Supplychain management of hardware:
Project 3: Transport Management:
Project 4: Bulk Cargo
Project 5: Deployment of Blockchain Assets
Could you help me understand more about your background by giving a brief introduction to your solar? Hi. Hi. Uh, my name is Deepak Kumar, and, uh, I completed my MTech from an IT outlet. And then after that, I joined Accenture as a blockchain developer. I worked there as, as a blockchain developer mostly in looking into, uh, and, uh, hyperlocal fabric. I worked on, uh, block chain accelerator framework app, uh, which is right now called Bevel, uh, which is an open source in the Linux Foundation under hyper laser hyper laser project. So I have kind of significant amount of contribution in this project, which is an open source. Uh, after that, I worked on Kubernetes thing. So, basically, in my 2nd company, I worked on, uh, I spent time on Kubernetes. So I was a, uh, Kubernetes engineer there. Uh, I worked on Java and other stuffs. Uh, right now, I'm working in London Stock Exchange Group as a senior software engineer. And, uh, here, uh, I'm mostly going to Spring Spring and, uh, Spring frameworks and then AWS side and, uh, uh, Docker and other things.
Okay. In designing a blockchain based authentication system, how would you ensure secure communication between hosted microservices? Based authentic system, how do you ensure secure community hosted microservice services? So while designing blockchain based authentication system, um, so in that case, I would um, if there is a requirement to, uh, for the blockchain based system to get authenticated using the microservice or or or if it wants to, um, interact with the AWS, um, and microservices which are being hosted in AWS, uh, I would be, uh, creating some sort of, uh, maybe, uh, active directory in the AWS where I would be storing the keys being generated from the AWS blockchain system. And, uh, once, uh, those microservices gets verified, uh, or it, uh, or it it might it should have a separate services, which handles those things, and it will get, uh, whenever there is another system on to communicate with that microservice, it would first fetch the keys from the active directory. And, um, these, uh, keys are being randomly generated, or or maybe it is the hash based system, which the blockchain system would store in the, uh, AWS in in the active directory system. And from there, the, um, uh, one of the microservices which handles this part will pick up that and then verify the hash. And by that way, it will, uh, get, uh, the the system will work like this, and it the the one the the one who want to communicate with Microsoft will get verified through this. There can be, uh, separate ways to do that. Uh, but right now, this is the one thing which is coming to my mind. Other ways, there can be other one thing that is coming to me. Let's say there is a blockchain system, and all the, uh, microservices, kind of or maybe, uh, every moment there is a hash of the particular, um, person, stores the hash in the system. So now that hash and the microservice will get in touch with the blockchain, pitch the hash, and verifies it. Uh, if it is successful, hash matches, then it should allow the person or other services which want to interact with this microservice. It has a kind of detail, so we will have to come up with the particular design. But right now, this is coming to my
Why would be the best what would be the best strategy to handle data synchronizing between a hyperledger private blockchain and a half public 30 minute network? To handle data synchronization between hyperled and private box I think, um, this can be handled, this uh, synchronization between the hybrid and private blockchain and. Uh, this can be done, uh, maybe in in between some like, whenever there is a transaction or after some interval of time, hybrid private blockchain, uh, will, uh, fetch the data from the Ethereum network. And then it does some kind of algorithm to verify the authenticity of the data, and then it stores in the blocks. Otherwise, um, what do I do in private box? Network. Whether the data is synchronized or not. I think this is
Okay. How do you integrate a Node. Js paged RESTful service with the other chain code? For transcription, how would you integrate Node. Js based service with that? So we would be, uh, running a Node. Js, uh, based, um, RESTful service. So and, uh, we will have the third party library, which will invoke the chain code of the Hyperledger. And, uh, when once that, uh, basically, that, uh, library, which is being provided by Hyperledger, uh, will help us to, uh, fetch the, uh, chain code. And, uh, once we have the chain code, we can go through it. And, uh, and 1 by 1, we can verify the transactions, whatever the transaction we have in the chain code. Or, uh, otherwise, uh, otherwise, we can also do one thing. We can expose a rest API through node, uh, which will, uh, basically, uh, call the hyperledger chain code. My chain code, basically, the the block and the, basically, the, um, the code that is there. So that will call the chain, uh, chain code, and then, uh, it will have the logic which is inside that. And that's basically the chain code, which will have a have a logic to verify the transactions that, like, it is valid or not. For example, there is 1 transaction, um, which happened, and let's say we want that whenever there is a, uh, let let's say there is a transition between a and b, and he has some amount in his wallet if he want to transfer that to b. So we must check first that whether a contains those things or not. So those things will be written in the chain code. So in the rest nodes, we just rest them. We just can expose a API, which we'll call the chain code, and that chain code will run on the
Scenario with high read and write throughput, how do you optimize the MongoDB device in used by a blockchain application and with high read and write output? Given a scenario with high read and write output, how would you optimize a MongoDB database and use MAM blockchain application? Uh, I, uh, think, uh, for for, um, for high read and write scenarios, if we have a MongoDB database, uh, then we think I think we can in the read, uh, scenario, we can keep, uh, basically, we have to shard the database. We could we should we have to keep multiple databases. And, uh, maybe, uh, there should be multiple databases which is distributed, uh, basically, the copy of the same database, and there should be 1 database under, uh, so so what will happen? Whenever there is a read operation that can be read from any of the distributed, uh, shard or basically shard database, uh, copy of the database. And whenever there's a write application, then it would go and write, uh, so that will follow a master slave architecture. So master will first block the, uh, other, uh, copies of database so that no other no other can read write the data, and it will block. And this and at the same time, another can also not read at that time. And it will update the instant, uh, the database in all the, uh, copies of the databases. So and, uh, yeah, by that this way, we will and blockchain application will always, um, this application. And we will be putting, uh, um, maybe a load balancer in front of MongoDB, and that will direct to whenever there is a blockchain is want to read the data, it will direct to different, uh, maybe randomly choose the reader instance. And whenever it used to it want to write it at that time, uh
I think, uh, the key consider consideration that we want to take into picture while designing Microsoft was is that intact with the authorized blockchain. So maybe, uh, we want to keep, uh, first of all, we want to see the size of, so so maybe if we see, the things will be how we are deploying the microservices. Okay? So if it is deploying on the particular VM, virtual machines, in that case, uh, I think we don't need much, uh, thing because we can, at the same time, deploy the dockerized blockchain nodes over the one instance where the microservice is running. But if the microservices are, deployed as a, uh, as a, uh, as a as a dockerized application itself, and, uh, maybe let's say it is deployed in Kubernetes cluster. So maybe we can look into Kubernetes side where we want to deploy all the microservices there. And, uh, at the same time, the blockchain nodes are also running in the cluster. So, uh, actually, I would I would suggest here, uh, to deploy it on the Kubernetes cluster because that will handle all the things gracefully. Uh, but, uh, while the considerations mainly are that whether these are all able to interact with or not, you know, the blockchain nodes and which microservice is going to interact with which nodes. Those things has to be taken into picture. Then, um, yeah, like that, we have to take this thing into considerations.
Yeah. So I think here, we are checking if error not equal to nil. So if it is no no error is there, then we are saying shim. Error failed to get state for the key. That is actually wrong. Instead of that, we would be doing, uh, if not equal to nil. Okay. Then we will read the value inside that. Else, we will say that, uh, we will return that error failed to get the state of the key. So if part if error not equal to nil, then we should be placing whatever we have in the LC part. And whatever we have in the else part, it is value equal to nil. So if once, uh, um, and else if value equal to nil, value is nil, then shim dot error. So it should be error equal to equal to nil. Um, then we should return error. Then we will check for the value. No. Then we'll we'll say not found. Otherwise, we'll print the value.
This is being this error is caused because when we are checking the, uh, balance of the sender, if it is greater than value first of all, it should be greater than equal to value. If it is not, then it will throw error. So, uh, yeah, it will check if it is greater than value, then transformer exceeds balance. Otherwise, it will throw the error. We should be, uh, putting a logger statement just after the function, uh, to print, uh, to maybe to check the to to print the value of the sender amount or what whatever the balance the sender sender has. And after that also and we should be putting this. Uh, Yeah. We should be putting a debugger at the or or maybe before the driver, we should be logging it to, uh, the value of the amount that the sender has and then the value. By that, we can we will come come to know just before the just after the function starts and before this require statement.
Uh, this, uh, I would say to minimize the bundle of Python using less, using, uh, libraries. Using all this optimized version of the libraries, uh, so that it can be handled. Or maybe we could deploy, uh, the instances as a containerized image, and, uh, we can, so whenever there is a load, we we can increase the number of, uh, containerized image of the nodes. So by that, uh, we can handle that. So whenever there is a more demand, more operation, we can increase the number of, uh, uh, containers of the Python based
If you need a, uh, need to perform a complex signing of data from a post SQL database and among ODB collection within a browser. How would you ensure the most efficient.
Uh, I would so in order to troubleshoot a distributor, denial of service, attack and blockchains are only used while maintaining a new service. So I think, uh, in order to, uh, troubleshoot denial of service at a blockchain, which we can, uh, what what we can do is, like, we can, uh, hit the blockchain node, uh, and, uh, we see and then we will have to see that why this is denying the service.