private-data-collections-on-fabric | repo demonstrates the use of collections | Blockchain library
kandi X-RAY | private-data-collections-on-fabric Summary
kandi X-RAY | private-data-collections-on-fabric Summary
In the Medical Supply Chain, there are multiple entities such as the drug manufacturers, wholesellers, pharmacies and patients. These entities share data about the pill as it moves through the chain. However, there are cases where entities want to keep some data about the pill hidden from the other entities. Consider the instance where a manufacturer have negotiated different price rates with the wholesellers. They wouldn't want the different wholesellers to be able to see the various drug rates negotiated. Having all entities on the same channel of the blockchain would inherently make every transaction between any two entities, visible to every other entity. With the introduction of private data collections, certain data parts associated with a given transaction, can be kept private from other entities. As a drug manufacturer, we will create an account on the Healthcare Platform network. We then add a drug, priced at $450, to the network. As the drug manufacturer, we can query for the drug that we created, and see the private details of the transaction, such as the price. The file that shows this network configuration is shown below. Note that for collectionDrug all mspId's have access to this collection, but for collectionDrugPrivateDetails, which contains price info, only the patient and the manufacturers have access to this data. This is why the drug manufacturer is able to see the private details of the transaction, such as the price. As a wholesaler on the network, we can create an account on the platform, and then log in. We can then try and query for the drug private details - but since we have made sure that wholesalers do not have access to that data on the network - we will get an error. The reason is that the wholesaler mspId is not included in the collectionDrugPrivateDetails collection, as shown above. Lastly, we will create an account as a patient - and then query for the drug price. Since as a patient, we need to know how expensive a drug is to ensure we can buy it, we should have access to the private details of the transaction, such as the price. As shown below, since the user is from the patient organization, we are able to see the price details.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of private-data-collections-on-fabric
private-data-collections-on-fabric Key Features
private-data-collections-on-fabric Examples and Code Snippets
Community Discussions
Trending Discussions on Blockchain
QUESTION
I am new to blockchain app development, I saw a project where ganache accounts are imported into Metamask, then web3.js is used to access and print those accounts and balances on Frontend (user interface).
If web3.js can directly access ganache blockchain accounts and balances, why do we need Metamask in between?
...ANSWER
Answered 2022-Feb-08 at 09:11If web3.js can directly acccess ganache blockchain accounts and balances, why we need metamask in between?
In this case, you don't need MetaMask to sign the transaction, as the node (Ganache) holds your private key.
But in a public environment (testnets and mainnet), the node doesn't hold your private key, so you'd need to sign the transaction using MetaMask (or any other tool that holds the private key).
QUESTION
I tried https://docs.opensea.io/reference opensea.io docs to fetch data. However, I think there are 2 APIs.
...ANSWER
Answered 2021-Aug-04 at 15:03The assets
endpoint (docs) has the asset_contract_address
filter that allows you to filter by a contract address. Which will effectively allow you to paginate through all NFTs of the contract (that Opensea knows of).
Example:
QUESTION
I want to publish files on ipfs but it's showing me an error.
Here is my code...
...ANSWER
Answered 2021-Nov-11 at 04:27I am not familiar with ipfs but i checked the official docs and they have done the first line like this:
QUESTION
I have been trying to interact with a contract on the AVAX chain using web3js and it keeps throwing the error, "TypeError: Cannot read properties of undefined (reading 'send')". I cannot figure out why this is happening, as it should be a valid statement. If anyone can help that would be awesome.
...ANSWER
Answered 2022-Mar-19 at 17:10The ABI needs to contain just the function and event definitions that are stored in your result
property. Without the wrapper object containing status
and other properties.
So in your case
QUESTION
I've been using the testnet lately and I encounter issues: they reset it very often and the service is down for multiple hours and sometimes have bugs.
Should I use the devnet? From what I've understood it's more stable and they reset it less often?
I have a backend in js that uses the elrond-sdk-erdjs and I'm confused because there is no function that initializes the https://devnet-gateway.elrond.com only the testnet. Is there a reason?
...ANSWER
Answered 2021-Aug-24 at 12:56The testnet is pretty volatile and it is reset very often (maybe weekly), without any warnings. Elrond recommends developers to use the devnet, it is reset maybe once every 3-4 months, so it's more stable.
You can get the provider like this:
QUESTION
Hey guys I am trying to deploy my project on the rinkeby chain using infura, but I am getting a ValueError Here is my trackback:
...ANSWER
Answered 2021-Nov-28 at 10:14it appears your env variables are not set correctly, and it looks like in this case it's your WEB3_INFURA_PROJECT_ID.
You can fix it by setting the variable in your .env file and adding dotenv: .env to your brownie-config.yaml.
brownie-config.yaml:
dotenv: .env .env:
export WEB3_INFURA_PROJECT_ID=YOUR_PROJECT_ID_HERE Remember to save these files.
Additionally, you should be on at least brownie version v1.14.6. You can find out what version you're on with:
brownie --version
QUESTION
I am very new to blockchain programming and programming in general. I want to generate my SOL address using the mnemonic seed phrase with the derivation path "m/44'/501'/0'/0". I can't find a proper BIP44 module for python where you can specify the derivation path.
...ANSWER
Answered 2022-Feb-23 at 00:41After a long search through the internet, I have finally found a way of solving my problem that I want to share with you.
QUESTION
ANSWER
Answered 2021-Oct-18 at 02:20I had the same issue but then I installed with npm and it worked
QUESTION
enter image description hereI've installed latest version of visual studio with desktop development c++ workload but still they are asking for it when i try to install truffle. I entered command :npm install -g truffle and lot of messages appear after 2 to 3 minutes of some kind of installation process. they are asking for Latest version of Visual Studio with "Desktop development with c++ workload" whereas i just installed my Visual studio with the same requirements. node.js and ganache are already installed. Is there any other way to install truffle?
...ANSWER
Answered 2022-Feb-17 at 16:59If you are installing it using npm package manager. Downgrade your npm to 7.24.2 it worked for me I hope it will also work for you. Use the following command to downgrade npm
QUESTION
I'm trying to swap tokens on uniswap unsing hardhat's mainnet fork but I'm getting this error: Error: Transaction reverted without a reason string
. And I don't really know why.
Here is my swap function:
...ANSWER
Answered 2022-Feb-17 at 06:46Weth
is different from other token, you're not able to use swapTokensForTokens
. We must use the swapEthForTokens
function instead, and you have to declare the data option separately.
so in your case we need to do:
Solidity code:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install private-data-collections-on-fabric
Create your patient organization CA Click Add Certificate Authority. Click IBM Cloud under Create Certificate Authority and Next. Give it a Display name of Patient CA. Specify an Admin ID of admin and Admin Secret of adminpw.
Create your manufacturer organization CA (process is same as shown in gif above) Click Add Certificate Authority. Click IBM Cloud under Create Certificate Authority and Next. Give it a Display name of Manufacturer CA. Specify an Admin ID of admin and Admin Secret of adminpw.
Create your wholesaler1 organization CA (process is same as shown in gif above) Click Add Certificate Authority. Click IBM Cloud under Create Certificate Authority and Next. Give it a Display name of W1 CA. Specify an Admin ID of admin and Admin Secret of adminpw.
Create your wholesaler2 organization CA (process is same as shown in gif above) Click Add Certificate Authority. Click IBM Cloud under Create Certificate Authority and Next. Give it a Display name of W2 CA. Specify an Admin ID of admin and Admin Secret of adminpw.
Create your pharmacy organization CA (process is same as shown in gif above) Click Add Certificate Authority. Click IBM Cloud under Create Certificate Authority and Next. Give it a Display name of Pharmacy CA. Specify an Admin ID of admin and Admin Secret of adminpw.
Use your CA to associate and register patient identities Select the Patient CA Certificate Authority that we created. First you need to associate the CA, click Associate identity Give an Enroll ID of admin, and Enroll Secret of adminpw. Note that this is the same as the id and secret you gave in the creation step. Then give the Identity Display Name of Patient CA Admin Click Associate Identity. First, we will register an admin for our Patient Organization. Click on the Register User button. Give an Enroll ID of patientAdmin, and Enroll Secret of patientAdminpw. Set the Type for this identity as client We will leave the Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User. We will repeat the process to create an identity of the peer. Click on the Register User button. Give an Enroll ID of patientPeer, and Enroll Secret of patientPeerpw. Set the Type for this identity as peer We will leave the Maximum enrollments and Add Attributes fields blank. Click Next and then Click Register User.
Use your CA to associate and register manufacturer identities (process is same as shown in gif above) Select the Manufacturer CA Certificate Authority that we created. First you need to associate the CA, click Associate identity Give an Enroll ID of admin, and Enroll Secret of adminpw. Note that this is the same as the id and secret you gave in the creation step. Then give the Identity Display Name of Manufacturer CA Admin Click Associate Identity. Then, we will register an admin for our Organization. Again, select the Manufacturer CA Certificate Authority. Click on the Register User button. Give an Enroll ID of manufacturerAdmin, and Enroll Secret of manufacturerAdminpw. Set the Type for this identity as client. We will leave the root affliation and Add Attributes alone. Click Next and then Click Register User We will repeat the process to create an identity of the peer. Click on the Register User button. Give an Enroll ID of manufacturerPeer, and Enroll Secret of manufacturerPeerpw. Set the Type for this identity as peer. We will leave everything else Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User.
Use your CA to associate and register w1 identities (process is same as shown in gif above) Select the W1 CA Certificate Authority that we created. First you need to associate the CA, click Associate identity Give an Enroll ID of admin, and Enroll Secret of adminpw. Note that this is the same as the id and secret you gave in the creation step. Then give the Identity Display Name of W1 CA Admin Click Associate Identity. Then, we will register an admin for our W1 Organization. Click on the Register User button. Give an Enroll ID of w1Admin, and Enroll Secret of w1Adminpw. Set the Type for this identity as client. We will leave the Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User. We will repeat the process to create an identity of the peer. Click on the Register User button. Give an Enroll ID of w1Peer, and Enroll Secret of w1Peerpw. Set the Type for this identity as peer. We will leave everything else Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User.
Use your CA to associate and register w2 identities (process is same as shown in gif above) Select the W2 CA Certificate Authority that we created. First you need to associate the CA, click Associate identity Give an Enroll ID of admin, and Enroll Secret of adminpw. Note that this is the same as the id and secret you gave in the creation step. Then give the Identity Display Name of W2 CA Admin Click Associate Identity. Next, we will register an admin for our W2 Organization. Click on the Register User button. Give an Enroll ID of w2Admin, and Enroll Secret of w2Adminpw. Set the Type for this identity as client. We will leave the Maximum enrollments and Add Attributes fields blank. Click Next and then Click Register User. We will repeat the process to create an identity of the peer. Click on the Register User button. Give an Enroll ID of w2Peer, and Enroll Secret of w2Peerpw. Set the Type for this identity as peer. We will leave the Maximum enrollments and Add Attributes fields blank. Click Next and then Click Register User.
Use your CA to associate and register pharmacy identities (process is same as shown in gif above) Select the Pharmacy CA Certificate Authority that we created. First you need to associate the CA, click Associate identity Give an Enroll ID of admin, and Enroll Secret of adminpw. Note that this is the same as the id and secret you gave in the creation step. Then give the Identity Display Name of Pharmacy CA Admin Click Associate Identity. Next, we will register an admin for our Pharmacy Organization. Click on the Register User button. Give an Enroll ID of pharmacyAdmin, and Enroll Secret of pharmacyAdminpw. Set the Type for this identity as client. We will leave the Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User. We will repeat the process to create an identity of the peer. Click on the Register User button. Give an Enroll ID of pharmacyPeer, and Enroll Secret of pharmacyPeerpw. Set the Type for this identity as peer We will leave the Maximum enrollments and Add Attributes fields blank. Click Next and then Click Register User.
Create the Patient MSP definition Navigate to the Organizations tab in the left navigation and click Create MSP definition. Enter the MSP Display name as Patient MSP and an MSP ID of patientmsp. Under Root Certificate Authority details, specify the peer CA that we created Patient CA as the root CA for the organization. Give the Enroll ID and Enroll secret for your organization admin, patientAdmin and patientAdminpw. Then, give the Identity name, Patient MSP Admin. Click the Generate button to enroll this identity as the admin of your organization and export the identity to the wallet. Click Export to export the admin certificates to your file system. Finally click Create MSP definition.
Create the manufacturer MSP definition Navigate to the Organizations tab in the left navigation and click Create MSP definition. Enter the MSP Display name as Manufacturer MSP and an MSP ID of manufacturermsp. Under Root Certificate Authority details, specify the peer CA that we created Manufacturer CA as the root CA for the organization. Give the Enroll ID and Enroll secret for your organization admin, manufacturerAdmin and manufacturerAdminpw. Then, give the Identity name, Manufacturer MSP Admin. Click the Generate button to enroll this identity as the admin of your organization and export the identity to the wallet. Click Export to export the admin certificates to your file system. Finally click Create MSP definition.
Create the W1 MSP definition Navigate to the Organizations tab in the left navigation and click Create MSP definition. Enter the MSP Display name as W1 MSP and an MSP ID of w1msp. Under Root Certificate Authority details, specify the peer CA that we created W1 CA as the root CA for the organization. Give the Enroll ID and Enroll secret for your organization admin, w1Admin and w1Adminpw. Then, give the Identity name, W1 MSP Admin. Click the Generate button to enroll this identity as the admin of your organization and export the identity to the wallet. Click Export to export the admin certificates to your file system. Finally click Create MSP definition.
Create the W2 MSP definition Navigate to the Organizations tab in the left navigation and click Create MSP definition. Enter the MSP Display name as W2 MSP and an MSP ID of w2msp. Under Root Certificate Authority details, specify the peer CA that we created W2 CA as the root CA for the organization. Give the Enroll ID and Enroll secret for your organization admin, w2Admin and w2Adminpw. Then, give the Identity name, W2 MSP Admin. Click the Generate button to enroll this identity as the admin of your organization and export the identity to the wallet. Click Export to export the admin certificates to your file system. Finally click Create MSP definition.
Create the Pharmacy MSP definition Navigate to the Organizations tab in the left navigation and click Create MSP definition. Enter the MSP Display name as Pharmacy MSP and an MSP ID of pharmacymsp. Under Root Certificate Authority details, specify the peer CA that we created Pharmacy CA as the root CA for the organization. Give the Enroll ID and Enroll secret for your organization admin, pharmacyAdmin and pharmacyAdminpw. Then, give the Identity name, Pharmacy MSP Admin. Click the Generate button to enroll this identity as the admin of your organization and export the identity to the wallet. Click Export to export the admin certificates to your file system. Finally click Create MSP definition.
Create an Patient peer On the Nodes page, click Add peer. Click IBM Cloud under Create a new peer and Next. Give your peer a Display name of Patient Peer. On the next screen, select Patient CA as your Certificate Authority. Then, give the Enroll ID and Enroll secret for the peer identity that you created for your peer, patientPeer, and patientPeerpw. Then, select the Administrator Certificate (from MSP), Patient MSP, from the drop-down list and click Next. The last side panel will ask you to Associate an identity and make it the admin of your peer. Select your peer admin identity Patient MSP Admin. Click Next. Review the summary and click Add Peer.
Create an manufacturer peer On the Nodes page, click Add peer. Click IBM Cloud under Create a new peer and Next. Give your peer a Display name of Manufacturer Peer. On the next screen, select Manufacturer CA as your Certificate Authority. Then, give the Enroll ID and Enroll secret for the peer identity that you created for your peer, manufacturerPeer, and manufacturerPeerpw. Then, select the Administrator Certificate (from MSP), Manufacturer MSP, from the drop-down list and click Next. The last side panel will ask you to Associate an identity and make it the admin of your peer. Select your peer admin identity Manufacturer MSP Admin. Click Next. Review the summary and click Add Peer.
Create an W1 peer On the Nodes page, click Add peer. Click IBM Cloud under Create a new peer and Next. Give your peer a Display name of W1 Peer. On the next screen, select W1 CA as your Certificate Authority. Then, give the Enroll ID and Enroll secret for the peer identity that you created for your peer, W1Peer, and W1Peerpw. Then, select the Administrator Certificate (from MSP), W1 MSP, from the drop-down list and click Next. The last side panel will ask you to Associate an identity and make it the admin of your peer. Select your peer admin identity W1 MSP Admin. Click Next. Review the summary and click Add Peer.
Create an W2 peer On the Nodes page, click Add peer. Click IBM Cloud under Create a new peer and Next. Give your peer a Display name of W2 Peer. On the next screen, select W2 CA as your Certificate Authority. Then, give the Enroll ID and Enroll secret for the peer identity that you created for your peer, W2Peer, and W2Peerpw. Then, select the Administrator Certificate (from MSP), W2 MSP, from the drop-down list and click Next. The last side panel will ask you to Associate an identity and make it the admin of your peer. Select your peer admin identity W2 MSP Admin. Click Next. Review the summary and click Add Peer.
Create an Pharmacy peer On the Nodes page, click Add peer. Click IBM Cloud under Create a new peer and Next. Give your peer a Display name of Pharmacy Peer. On the next screen, select Pharmacy CA as your Certificate Authority. Then, give the Enroll ID and Enroll secret for the peer identity that you created for your peer, PharmacyPeer, and pharmacyPeerpw. Then, select the Administrator Certificate (from MSP), Pharmacy MSP, from the drop-down list and click Next. The last side panel will ask you to Associate an identity and make it the admin of your peer. Select your peer admin identity Pharmacy MSP Admin. Click Next. Review the summary and click Add Peer.
Go to the Nodes tab.
Create your orderer organization CA Click Add Certificate Authority. Click IBM Cloud under Create Certificate Authority and Next. Give it a unique Display name of Orderer CA. Specify an Admin ID of admin and Admin Secret of adminpw.
Use your CA to register orderer and orderer admin identities In the Nodes tab, select the Orderer CA Certificate Authority that we created. First you need to associate the CA, click Associate identity Give an Enroll ID of admin, and Enroll Secret of adminpw. Note that this is the same as the id and secret you gave in the creation step. Then give the Identity Display Name of Orderer CA Admin Click Associate Identity. First, we will register an admin for our organization. Click on the Register User button. Give an Enroll ID of ordereradmin, and Enroll Secret of ordereradminpw. Set the Type for this identity as client. We will leave the Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User. We will repeat the process to create an identity of the orderer. Click on the Register User button. Give an Enroll ID of orderer1, and Enroll Secret of orderer1pw. Set the Type for this identity as peer. We will leave the Maximum enrollments and Add Attributes fields alone. Click Next and then Click Register User.
Create the orderer organization MSP definition (check gifs for creating MSP above) Navigate to the Organizations tab in the left navigation and click Create MSP definition. Enter the MSP Display name as Orderer MSP and an MSP ID of orderermsp. Under Root Certificate Authority details, specify the peer CA that we created Orderer CA as the root CA for the organization. Give the Enroll ID and Enroll secret for your organization admin, ordereradmin and ordereradminpw. Then, give the Identity name, Orderer MSP Admin. Click the Generate button to enroll this identity as the admin of your organization and export the identity to the wallet. Click Export to export the admin certificates to your file system. Finally click Create MSP definition.
Create an orderer (check gifs for creating peers above) On the Nodes page, click Add ordering service. Click IBM Cloud and proceed with Next. Give your peer a Display name of Orderer. On the next screen, select Orderer CA as your Certificate Authority. Then, give the Enroll ID and Enroll secret for the peer identity that you created for your orderer, orderer1, and orderer1pw. Then, select the Administrator Certificate (from MSP), Orderer MSP, from the drop-down list and click Next. Give the TLS Enroll ID, admin, and TLS Enroll secret, adminpw, the same values are the Enroll ID and Enroll secret that you gave when creating the CA. Leave the TLS CSR hostname blank. The last side panel will ask to Associate an identity and make it the admin of your peer. Select your peer admin identity Orderer MSP Admin. Click Next, Review the summary and click Add Ordering Service.
Add organizations as Consortium Member on the orderer to transact Navigate to the Nodes tab, and click on the Orderer that we created. Under Consortium Members, click Add organization. From the drop-down list, select Manufacturer MSP. Click Add Organization. Repeat the same steps, but add W1 MSP, W2 MSP, Pharmacy MSP and Patient MSP as well.
Create the channel Navigate to the Channels tab in the left navigation. Click Create channel. Give the channel a name, mychannel. Select the orderer you created, Orderer from the orderers drop-down list. Select the channel member. This should be Manufacturer MSP (manufacturermsp). Select the MSP identifying the organization of the channel creator from the drop-down list. This should be Manufacturer MSP (manufacturermsp). Click Add next to the manufacturer organization. Make the organization an Operator. Do the same for the other organizations: Click Add next to the w1 organization. Make the organization an Operator. Click Add next to the w2 organization. Make the organization an Operator. Click Add next to the pharmacy organization. Make the organization an Operator. Click Add next to the patient organization. Make the organization an Operator. Under Channel update policy, Select 1 out of 5. Under Creator organization Select Manufacturer MSP under Channel creator MSP. And then select Associate available identity as Manufacturer MSP Admin. Click Create channel.
Join your peer to the channel Click Join channel to launch the side panels. Select your Orderer and click Next. Enter the name of the channel you just created. mychannel and click Next. Select which peers you want to join the channel, click all peers. Ensure all peers are anchor peers. Click Join channel.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page