.0",
    "json-matter": "^1.0.2",
    "marked": "^0.3.3"
  },
  "devDependencies": {
    "opn-cli": "^3.1.0",
    "watchify": "^3.7.0"
  }
}
Advances in military ranking until achieved the position of assistant Commander of the 1St Medical platoon.
Head of hyperbaric Medicine Department at King Hamad University Hospital.
Appointed Member of the Ethics and Research Committee at King Hamad University Hospital.
Head of hyperbaric and advanced wound care at Royal Commission Jubail kingdom of Saudi Arabia.
Canadian-Board certified Consultant Plastic, Reconstructive & Cosmetic Surgeon. Muscat Private Hospital.
Dr. AlNasir completed his medical degree at King Saud University in Riyadh with his internship undertaken at King Khalid University Hospital in the Kingdom of Saudi Arabia. He completed Fellowships in several European Universities including in Paris, Hanover, and Madrid.
Dr. AlNasir has presented at several regional scientific conferences. He has participated in humanitarian missions with Medicine Sans Frontier ( Doctors Without Borders) in Africa and Far East Asia.
Consultant plastic surgeon. Head of the unit. Tutor at the Faculty of medicine. Co-founder of the Kuwait plastic surgery association.channel swims and successfully completed each one on his first attempt.
Adam went from a daily routine of WORK - EAT - SLEEP, training himself physically and mentally to cope with arguably the most difficult endurance challenge on the planet! Contending with deadly marine life, huge swells, currents and cold temperatures!!Meaning and definitions of mercantilism, translation in Khmer language for mercantilism with similar and opposite words. Also find spoken pronunciation of mercantilism in Khmer and in English language.
What mercantilism means in Khmer, mercantilism meaning in Khmer, mercantilism definition, examples and pronunciation of mercantilism in Khmer language.
These solutions include Bitcoin, Litecoin, public Ethereum and other cryptocurrencies. The idea is that anyone can participate anonymously. All transactions are visible to anyone because there is one shared ledger publicly visible, without special restrictions.
Without going into details, Hyperledger Fabric (the hero of this article) is in some way special in comparison to other permissioned blockchain implementations. Both Besu and Go-Quorum are Ethereum-based, so they have all the pros and cons resulting from the foundation on which they stand. Ethereum gives the possibility of writing smart contracts, but it was designed with the background of ETH currency in mind, which results in all transactions costing money, even if in the private network the costs can be zeroed. Also, privacy in Besu and Go-Quorum is achieved as an additional layer above Ethereum nodes, so it was not a key concept from the beginning.
Hyperledger Fabric is a solution which was designed from scratch as an enterprise. It is not related to any cryptocurrency and has advanced mechanisms to achieve even very complicated business scenarios that demand privacy. The most important difference between Hyperledger Fabric and other permissioned blockchain implementations are policies that can be defined on different levels.
Channel configuration which is defined inside configtx.yaml file contains default policies. These polices can be overwritten in channel config. There is also a possibility to create your own policies and use them in different places. Policies defined within channel configuration can also be overridden on lower levels, like chaincode, or private data collection definitions. They can even be overridden for specific assets (state-based endorsement). There is great flexibility in defining what can be done and by whom in the context of channels.
There is no simple answer to which permissioned blockchain implementation is better. You need to know what you have to do, you need to know different blockchains and fit everything together. For instance, Hyperledger Fabric is great, has many configuration possibilities, but is very complex and has a high entry barrier. Often the use of “simpler” blockchains can be sufficient in smaller projects.
But the article is not about this. It was just a few words for everyone?. The assumption here is, that you have already decided that you want to setup the Hyperledger Fabric network, because it is good for your project and you have the nerves of steel.
The article describes one of the possible ways to achieve the Multi-Host Network setup. The goal is to check if there is an option to decentralize network components (as peer and orderer organisations) between different hosts located in mixed environment. Mixed environment means here: using cloud resources and on-premise virtual machines. You can choose your preferred cloud provider, but in the described scenario Microsoft Azure is used. For better understanding of basics and not adding more complexity to the already complex topic, no container orchestrator is used.
The proposed architecture may make no sense for you, but it is just for “proof of concept” purposes. Components are distributed between 3 virtual machines to test communication. In a real case scenario, when you are building some kind of consortium, there should be more nodes to host similar network structure. Components like peers and orderers belonging to a given organization should be placed on machines which the organization controls.
Such an approach increases privacy, provides better scalability and is simpler to manage. In the sample network described below there is one organization that has 3 orderers but the configuration remains open.
Order – only orderers.
System – consortium organization, includes 1 peer.
Core1 – represents second consortium organization, includes 2 peers.
Core2 – represents third consortium organization, includes 1 peer.
rca-core2 – certs for Core2 organization.
From a further configuration steps perspective, it doesn’t matter if virtual machines are placed on cloud or in local company network. There is a need to establish a connection between on-premises network and Microsoft Azure virtual network, so all virtual machines can ping mutually. It can be done in many ways depending on your on-premises setup. There are some things that can impact the final solution, like i.e. external IP or firewalls. For more about this topic, you should follow documentation and choose the best option that will fit your needs and potential costs. In described case VPN Gateway has been used.
You may imagine scenario where some of consortium members already have own on-premises infrastructure and they don’t want to bear unnecessary, additional costs of cloud.
It must be clearly stated. This is not a step by step guide, but rather an explanation of the steps and processes that, put together, lead to a specific goal. Without such a premise the article would be three times as long, as it is.
Docker and Docker Compose understanding is necessary (there won’t be any detailed instructions).
Fabric binaries have to be visible globally in the operating system.
3 virtual machines, which can communicate with each other, have to be prepared before.
The majority of the steps have to be done on the VM1, because in the described configuration all certificate authorities operate there.
order-config.yaml – NodeOUs for Order organization.
If you are not familiar with them, please go to the Hyperledger fabric documentation and read about them. Some have different names but the file structure is pretty straightforward.
Sample configs can be seen in fabric repository: link. The most important configuration files are configtx.yaml, orderer.yaml and core.yaml. The last 2 files shouldn’t be modified. There is the need to override some of the values inside of them, but it can be done by creating proper environmental variables at service definition level for docker-compose.
As it was mentioned before, configtx.yaml contains network channel configuration. There are organizations defined that should belong to the channel with their component structures (anchor peers, orderers) and policies. It is good to analyze sample config, as it contains many helpful comments.
The rest of configs, whose names end with “*-config.yaml” are based on the sample config presented here: link.
Generate crypto material.
All listings posted in this article contain different variables as <FABRIC_CA_VERSION>. They should be replaced with desired values (or your own named variables). Remember to pass the same values whenever necessary.
The file passed to the command above contains all service definitions (ca-tls, rca-system, etc.) listed on the right-hand side.
Next you need to register all components as “ca-tls” administrator. Admin has been created during the CA container launch. Look at the command section of “ca-tls” service definition.
Additional admins for orderers (admin-orderer1-order, admin-orderer2-order, etc.) must be created because they are necessary to join orderers in a channel later.
Registered identities must be enrolled to generate necessary certificates. So, the next step is to enroll peer1 for System, admin for System, orderer1 for Order, etc. As an example the System organization is used again.
After you handle all registrations and enrollments, you should have all necessary crypto material generated. Certificates should be copied from VM1 to VM2 and VM3. There is no need to copy everything everywhere. You have to make sure that all crypto material related to network components that will run on specific virtual machines is there.
2. Prepare orderers.
Below you can see orderer1-order service definition, which can be used as a template to create orderer2-order and orderer3-order. As you can