How can we connect multiple blockchains in Hyperledger Fabric like sidechains?
The current implementation lacks clarity on this subject but it could be fairly easy implemented into a smart contract whose responsibility was to e.g. sign a document in another blockchain db. So one could simply use the REST API for the other network in Go Lang
Related
I'm new to Hyperledger Fabric, and trying to get into smart contract developing in Golang. Until now, all tutorials and sources I read said that a smart contract must always implement the chaincode interface:
type Chaincode interface {
Init (stub ChaincodeStubInterface) pb.Response Invoke (stub ChaincodeStubInterface) pb.Response
}
But it seems that the Hyperledger Fabric functionality for implementing token-UTXO: https://github.com/hyperledger/fabric-samples/tree/main/token-utxo
Is a smart contract which doesn't implement the methods init or invoke from the chaincode interface. See https://github.com/hyperledger/fabric-samples/tree/main/token-utxo/chaincode-go/chaincode
Can anyone explain how is it possible that this chaincode works without implementing them?
Thank you.
The newer Fabric samples such as the UTXO contract leverage the newer contract API. The newer contract API layer implements the init and invoke functions, while allowing user contracts to be written with a higher-level abstraction where the application's chaincode functions can be directly implemented in the contract.
For more details, see the contract API documentation.
How to find user addresses in hyperledger sawtooth?
How to register a user on sawtooth validator node?
Is there anything similar to account in ethereum?
There is no concrete thing called 'user' out of the box in sawtooth. What it does have is the ability to set which keys are authorized to do things like change settings and submit transactions.
A sawtooth application can, and probably some have, implemented user and ID management as sawtooth does provide underlying tools to exploit that.
A good start would be to follow the path to the developer documentation from the github main page.
At the moment i still only have about 2 months of experience in UI5. i developed a little sample-app, used sap gateway builder to pass my requests to sap backend.
Now my employer asked me to research the possibility to access two different backends (one sap, one nonsap) via odata from the same app. After a little reading and thinking i came to the conclusion that it would be best to access both backends from a single gateway.
Since ive already worked with sap gateway, i wonder if there is a way to access nonsap backends with sap gateway? Are the better options?
Or is my current approach complete wrong and i should think about a whole other way?
It depends on your approach and the non-sap-system:
Is the non-sap-system accesible via Webservices? Then use second data model (e.g. JSON/ODATA) within SAPUI5 by loading data via webservices after initial loadup of your application.
Is the non-sap-system connected to SAP? E.g. via RFC or another technology, then you can read data from the other system during calling your initial Gateway service and simply call your RFC function module in your method.
From my opinion you will not achieve an 'easy' way to read both via one single SAP NetWeaver Gateway.
Not sure why you would want to access a non-SAP oData service via SAP Gateway. On the other hand you may want a router of some sort so that all services are exposed on the same network location and then incoming requests are routed to the appropriate backend for action.
You may also want to "mash-up" the SAP and non-SAP services into some sort of new service. In that case maybe look to some of the API management tools like Apigee to help you achieve that.
I am a beginner with hyperledger composer, I am not clear with ACL (access control) in hyperledger composer. Sorry, if my question have problem.
Why we need ACL?
When we use it?
Where we use it?
To control access to resources on the ledger, or the kinds of CRUD operations (can I create an asset, can I update an asset), or kind of transaction types a participant of the business network can perform.
Because you want to apply access control - security 101 !
It is applied usually within the realms of a business network. So if I have a business network called 'Commodity Trading' I may only wish 'Trader 1' (a participant) to see his own historical trades on the business network - and not see others' trades. Yet I may allow him (by access rules) to be able to execute certain trade types, because of his role, in that Trade Brokerage. You get the picture.
ACL stands for Access control language and constitutes an important part of our composer network. Hyperledger as we know is a permissioned blockchain and ACL helps in achieving that. It helps in writing rules which define the different access levels of any participant of the ecosystem. We can define whether a participant can CREATE, READ, UPDATE or DELETE asset. We can restrict their access to the assets as well.We use ACL whenever there is are participant at different levels in our network and we don't need each of them to perform every operation on the assets.
You must go through this link once : https://hyperledger.github.io/composer/v0.16/reference/acl_language
I developped my blockchain with composer 0.14 without problem. I managed my users (participant) with secrets and everythings was stored in the blockchain.
Now with Composer 0.15, we have to use cards to connect to the blockchain (even if a hidden function exists). I want to respect the current philosophy...
If I well understood, now I have to manage users in my webapp and make a relation between my users and theirs cards for connection to the blockchain to the right particpant. Am I right?
And other question, how to deal with multiple webapp using same particpants, do I have to generate cards on each servers?
Finally, how to make access more secure for cards saved on a server? Because, user cards can be used without theirs assent (hacking, bug, ...)
Web server : Ubuntu/NodeJS - the question can be asked for all plateforms
now I have to manage users in my webapp and make a relation between my users and theirs cards for connection to the blockchain to the right particpant. Am I right?
its more accurate to say - map your identity to the right participant in Composer.
multiple webapp
if you're spinning up separate web apps, they can use the same business network and the identities they authenticate with are mapped to participants in Composer. If an identity (mapped to a participant) uses one of those webapps then it can (say) transact on the business network in question. You could for example set up a persistent shared store accessible by your webapps or deploy a REST server with a persistent store for cards -> https://hyperledger.github.io/composer/integrating/deploying-the-rest-server.html
secure storage of cards
Hardware Security Module (cryptographic hardware-based option for key storage)? Trusted Platform Module ?