Menyebarkan Hyperledger Fabric 1.4 di AWS

Hyperledger Fabric adalah platform blockchain open source dari Linux Foundation. Dengannya, Anda dapat membuat aplikasi blockchain dan mengontrol akses dan izin untuk data di blockchain. Hyperledger Fabric harus digunakan jika Anda ingin membuat jaringan blockchain pribadi atau menetapkan batasan pada transaksi apa yang bisa dilihat oleh masing-masing pihak.

Dalam dokumentasi Hyperledger Fabric, pembuatan jaringan blockchain pada satu mesin menggunakan Docker direncanakan dengan baik, di mana setiap anggota jaringan adalah wadah yang terpisah. Tetapi proses pengaturan jaringan pada beberapa mesin fisik atau virtual tidak dijelaskan. Ini akan dibahas dalam artikel ini.

Aplikasi blockchain kami adalah layanan untuk menyimpan beberapa data medis anak-anak sekolah dan prasekolah. Data harus tidak berubah. Mereka akan disajikan dalam bentuk informasi tentang vaksinasi dan persetujuan pasien dengan dokter tertentu. Jaringan akan mencakup anggota Orang Tua (sebuah organisasi yang mewakili kepentingan orang tua), Rumah Sakit (rumah sakit dengan orang tua dokter anak dapat mengadakan perjanjian untuk merawat anak / anak-anak mereka) dan Taman Kanak-Kanak (sebuah taman kanak-kanak yang dapat meminta laporan kesehatan dan vaksinasi untuk atau anak lain di rumah sakit).

Amazon mengelola blockchain


AWS memiliki layanan Blockchain Amazon Managed. Ini memungkinkan Anda untuk menggunakan jaringan blockchain menggunakan antarmuka pengguna konsol AWS. Tetapi, setelah mendapatkan beberapa pengalaman bekerja dengan Amazon Managed Blockchain, kami harus meninggalkan ide untuk menggunakan layanan ini dalam proyek komersial. Ada beberapa alasan untuk ini. Yang utama adalah:

  1. Hanya versi Hyperledger Fabric 1.2 yang tersedia di Amazon Managed Blockchain, dan pada saat penulisan ini, versi 1.4 digunakan untuk membangun jaringan blockchain perusahaan. Itu juga tidak mengizinkan penggunaan versi modern alat Node.js SDK;
  2. Amazon Managed Blockchain tidak mendukung basis data CouchDB, membuatnya sulit untuk membuat aplikasi yang mengindeks data yang disimpan.

Oleh karena itu, pendapat kami adalah bahwa lebih baik menggunakan server virtual atau fisik untuk membangun jaringan menggunakan kerangka kerja Hyperledger Fabric.

Tentang saluran aplikasi


Hyperledger Fabric memiliki konsep "saluran." Saluran adalah subnet untuk melakukan transaksi sensitif. Akan ada dua saluran di aplikasi kita.

  • "Rumah Sakit Parents". Ini dimaksudkan untuk transaksi antara anggota Orang Tua dan organisasi Rumah Sakit: membuat dan mengubah catatan medis, membuat perjanjian dengan dokter anak, dan menandatangani perjanjian dokter anak.
  • "Parentshospitalkindergarten." Dalam saluran ini, anggota Orang Tua dan Rumah Sakit akan berinteraksi dengan anggota TK. Juga, laporan akan dihasilkan berdasarkan data dari catatan medis.

Lingkungan kerja


Kami akan menggunakan jaringan blockchain kami menggunakan Docker Swarm - ini adalah sistem Docker asli untuk menggunakan cluster host. Jika Anda belum pernah bekerja dengan Docker (dan terutama dengan Docker Swarm), maka pertama-tama periksa produk ini dan cara mengatur wadah menggunakan Docker Swarm. The dokumentasi menjelaskan dasar-dasar bekerja dengan alat-alat ini dengan baik.

Seluruh jaringan kami akan berlokasi di server AWS EC2. Informasi dalam jaringan blockchain akan disimpan di CouchDB. Hyperledger Fabric juga mendukung basis data LevelDB, tetapi CouchDB, tidak seperti yang terakhir, memungkinkan untuk mencari berdasarkan kriteria apa pun dalam kumpulan dokumen. Kami juga akan menggunakan Fabric Certificate Authority - ini adalah komponen modular untuk mengelola pengidentifikasi jaringan semua organisasi dan penggunanya. Ini menyediakan pendaftaran peserta jaringan dan penerbitan sertifikat.

Kami akan memiliki empat server EC2:

  1. Orderer, MySQL DB (untuk menyimpan informasi aplikasi yang tidak berlaku untuk catatan medis)
  2. Organisasi orang tua (Peer0, Peer1), CouchDB, Fabric-CA, CLI
  3. Organisasi rumah sakit (Peer0, Peer1), CouchDB, Fabric-CA
  4. Organisasi TK (Peer0, Peer1), CouchDB, Fabric-CA

Membuat Server EC2 di AWS


Kami membutuhkan layanan perantara untuk bekerja. Jenis server EC2 ini memiliki daya komputasi yang cukup untuk menginstal semua perangkat lunak yang diperlukan dan bekerja dengan alat Hyperledger Fabric. Di Konfigurasikan Grup Keamanan, setel Semua lalu lintas, dan Sumber - 0.0.0.0/0, :: / 0.


Fig. 1. Konfigurasikan Grup Keamanan di panel AWS.

Kami mendapat empat server EC2:

  1. ec2-18-232-164-119.compute-1.amazonaws.com
  2. ec2-54-145-203-186.compute-1.amazonaws.com
  3. ec2-54-80-241-117.compute-1.amazonaws.com
  4. ec2-52-87-193-235.compute-1.amazonaws.com

Anda secara alami akan memiliki jalur Anda sendiri ke server EC2.


Fig. 2. Disiapkan untuk server operasi EC2.

Menginstal perangkat lunak prasyarat pada server EC2


Sekarang di setiap server EC2 kita perlu menginstal Docker dan Git. Untuk kenyamanan, buka empat tab di terminal. Mari kita pergi ke setiap layanan EC2 melalui SSH:

Terminal 1:

HOST1=ec2-18-232-164-119.compute-1.amazonaws.com
ssh ec2-user@$HOST1 -i ./key-poc.pem

Terminal 2:

HOST2=ec2-54-145-203-186.compute-1.amazonaws.com
ssh ec2-user@$HOST2 -i ./key-poc.pem

Terminal 3:

HOST3=ec2-54-80-241-117.compute-1.amazonaws.com
ssh ec2-user@$HOST3 -i ./key-poc.pem

Terminal 4:

HOST4=ec2-52-87-193-235.compute-1.amazonaws.com
ssh ec2-user@$HOST4 -i ./key-poc.pem

Di setiap terminal, jalankan perintah berikut:

sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo docker info
sudo yum install git
sudo usermod -a -G docker ec2-user
newgrp docker

Sekarang kita sudah menginstal Docker dan Git.

Jaringan


Kita perlu mengkloning elemen jaringan kita dari repositori. Untuk melakukan ini, jalankan perintah di setiap terminal:

git clone https://github.com/nixsolutions/blockchain-poc-network.git network

Kita juga perlu mengkloning kontrak pintar dari repositori yang akan mengatur hubungan antar peserta jaringan. Kontrak pintar ditulis dalam bahasa Golang.

Kami melakukan langkah-langkah ini di masing-masing dari empat server:

cd network && mkdir chaincode && cd chaincode
git clone https://github.com/nixsolutions/blockchain-poc-medical-contract.git medical-contract
git clone https://github.com/nixsolutions/blockchain-poc-kindergarten-contract.git kindergarten-contract

Di terminal pertama, kita perlu membuat file konfigurasi dan sertifikat saluran untuk menghubungkan organisasi ke jaringan:

cd network/poc-network
./1_generate_connection_files.sh
./2_generating_channel_configuration.sh

Sekarang salin folder-artefak dan folder crypto-config ke tiga host lainnya di folder poc-network dari direktori induk jaringan. Harap dicatat: saat menyalin organisasi ke server EC2, Anda perlu menghapus sertifikat pihak ketiga dari folder crypto-config / peerOrganizations yang terkait dengan pekerjaan organisasi lain. Misalnya, ketika menyalin ke host Orang Tua, kita harus meninggalkan folder parents.poc-network.com di folder ini, tetapi hapus hospital.poc-network.com dan kindergarten.poc-network.com.

Membuat Tumpukan Docker Swarm


Agar kontainer milik organisasi yang berbeda dan terletak di server EC2 yang berbeda untuk dapat saling mengakses, kita perlu menggabungkannya ke dalam tumpukan. Mari kita lihat jaringan file / poc-network / docker-compose-general.yaml kami. Ini berisi konfigurasi layanan, menunjukkan host mana dari layanan tertentu (kunci node.hostname) akan digunakan untuk , alias (kunci aliases) ditunjukkan .

Kita perlu menginisialisasi swarm di terminal pertama:

docker swarm init
docker swarm join-token manager

Token akan muncul untuk melampirkan server EC2 lain ke stack. Sesuatu seperti: docker swarm join --token SWMTKN-1-42ml0ohnnbidg8kflgp8xp9dkkus6mn1lslqc15hrxj4tk9e3q-5h4vbzbfk8p90n83oe08gbltf 172.31.46.214:2377.

Sekarang kita dapat mengeksekusi di terminal yang tersisa:

docker swarm join --token SWMTKN-1-2xzco7t7txohnzd09318eczpbgmm8woex80byxptpt1jl5i2ar-bsg37h40xze1gaabg80i96gw2 172.31.38.245:2377

Sebuah pesan muncul di konsol:

This node joined a swarm as a manager.

Setelah ketiga host terhubung ke Swarm, kita dapat melihatnya di terminal host pertama dengan menjalankan perintah:

docker node ls


Fig. 3. Daftar server di Docker Swarm.

Di folder jaringan / poc-jaringan ada file .env.template di mana Anda perlu menentukan nama host untuk masing-masing host:

ORDERER=ip-172-31-38-245
PARENTS=ip-172-31-43-64
HOSPITAL=ip-172-31-38-130
KINDERGARTEN=ip-172-31-40-157

Untuk menghasilkan file .env, Anda perlu menjalankan file ./3_env_gen.sh.

Sekarang buat jaringan dengan driver overlay:

docker network create --driver overlay --attachable stage_byfn

Jalankan Swarm untuk membuat tumpukan berdasarkan file docker-compose-general.yaml:

env $(cat .env | grep ^[A-Z] | xargs) docker stack deploy -c docker-compose-general.yaml stage 2>&1

Dengan perintah ini, kami juga menetapkan variabel lingkungan, yang dijelaskan dalam file .env dan yang diperlukan agar jaringan dapat berfungsi dengan benar.

Anda dapat menjalankan perintah docker service lsdi terminal pertama. Anda akan melihat daftar semua layanan yang berjalan pada semua instance EC2 kami.


Fig. 4. Daftar semua layanan yang berjalan di semua server EC2.

Jika Anda melihat hal yang sama di terminal Anda seperti pada tangkapan layar, maka semuanya baik-baik saja. Sekarang jalankan jaringan kami. Di terminal kedua, Anda harus memasukkan wadah CLI (setelah semua, wadah ini digunakan pada host kedua):

docker exec -ti stage_cli.1.owni217t53m53efjtikb5oa2f /bin/bash

Nama kontainer dapat dilihat dengan mengeksekusi perintah di terminal docker ps.

Dalam wadah, kami menjalankan semua perintah kami dari file 4_create_channels.sh, menyalinnya satu per satu ke terminal. Dalam folder bin, kami memiliki binari untuk membuat jaringan:

  • peer channel create - create saluran;
  • bergabung dengan saluran rekan - bergabung dengan rekan ke saluran;
  • pembaruan saluran rekan - memperbarui konfigurasi;
  • install peer chaincode - instal kode kode;
  • peer chaincode instantiate - menyebarkan kode rantai yang ditentukan pada jaringan.

Sekarang Anda dapat meninggalkan wadah dengan menjalankan perintah exit.

Aplikasi Orang Tua Kembali


Instal aplikasi pada host kedua:

cd ~
git clone https://github.com/nixsolutions/blockchain-poc-backend.git back

Kita juga perlu menginstal NodeJS dan gcc-c ++ (compiler):

curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install nodejs
cd back
sudo yum install gcc-c++ -y
npm install

Kami juga dapat memasukkan database kami melalui admin dengan data otorisasi berikut:

<HOST_1>:3306(di mana <HOST_1>adalah alamat server EC2 pertama tempat database disimpan) Kita
dev
devpass
poc_database

juga perlu menghubungkan aplikasi API kami ke database:

vim ~/back/config/config.json

Tetapkan nilai yang benar untuk kunci host. Aplikasi kembali kami telah menyiapkan migrasi dan benih. Anda perlu menjalankannya:

npx sequelize-cli db:migrate
npx sequelize-cli db:seed:all

Tabel akan muncul di database. Dan dalam tabel organisasi kita akan melihat tiga baris dengan organisasi kita - orang tua, rumah sakit, taman kanak-kanak.

Saat membuat sertifikat di awal, kami menerima file untuk menghubungkan ke jaringan untuk setiap organisasi di host pertama. Salin file koneksi-parents.json dari host pertama ke yang kedua. Untuk melakukan ini, buka terminal lain dari folder di mana kita keyberada dan jalankan perintah:

HOST1=ec2-18-232-164-119.compute-1.amazonaws.com
HOST2=ec2-54-145-203-186.compute-1.amazonaws.com
scp -i ./key-poc.pem -r ec2-user@$HOST1:~/network/poc-network/connection-parents.json ~
scp -i ./key-poc.pem ~/connection-parents.json ec2-user@$HOST2:~/network/poc-network

Perbaiki exports.hostNamedi constants.js (nilai untuk host saat ini):

vim ~/back/constants.js

Jalankan aplikasi kita di terminal kedua:

npm start

Di file userGenerator.sh, tetapkan nilai yang HOST_2benar untuk variabel :

vim ~/back/generators/userGenerator.sh

Selanjutnya, Anda perlu menjalankan skrip yang akan membuat pengguna organisasi Orang Tua:

./back/generators/userGenerator.sh parents

Jalankan skrip untuk menghasilkan catatan medis:

node ~/back/generators/setCards.js

Dua kartu akan dibuat di blockchain, yang juga akan ditulis ke dalam database SQL di tabel kartu.

Aplikasi kembali rumah sakit


Dengan analogi dengan aplikasi-kembali sebelumnya, kita perlu menempatkan file untuk terhubung ke jaringan pada host ketiga. Untuk melakukan ini, di terminal kelima, jalankan:

scp -i ./key-poc.pem -r ec2-user@$HOST1:~/network/poc-network/connection-hospital.json ~
scp -i ./key-poc.pem ~/connection-hospital.json ec2-user@$HOST3:~/network/poc-network

Kami akan mengkloning aplikasi kami ke host ketiga:

cd ~
git clone https://github.com/nixsolutions/blockchain-poc-backend.git back

Instal NodeJS dan gcc-c ++ (compiler):

curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install nodejs
cd back
sudo yum install gcc-c++ -y
npm install

Perbaiki exports.hostNamedi constants.js (nilai untuk host saat ini):

vim ~/back/constants.js

Jalankan aplikasi kita di terminal ketiga:

npm start

Di file userGenerator.sh, tetapkan nilai yang HOST_3benar untuk variabel :

vim ~/back/generators/userGenerator.sh

Selanjutnya, kita perlu menjalankan skrip yang akan membuat pengguna organisasi Rumah Sakit:

./back/generators/userGenerator.sh hospital

Kami sekarang memiliki pengguna kedua di tabel Pengguna di database.

Aplikasi TK kembali


Dengan analogi dengan aplikasi-kembali sebelumnya, kita perlu menempatkan file untuk terhubung ke jaringan pada host ketiga. Untuk melakukan ini, di terminal kelima, jalankan:

scp -i ./key-poc.pem -r ec2-user@$HOST1:~/network/poc-network/connection-kindergarten.json ~
scp -i ./key-poc.pem ~/connection-kindergarten.json ec2-user@$HOST4:~/network/poc-network

Kami akan mengkloning aplikasi kami ke host ketiga:

cd ~
git clone https://github.com/nixsolutions/blockchain-poc-backend.git back

Instal NodeJS dan Gcc-c ++ (compiler):

curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install nodejs
cd back
sudo yum install gcc-c++ -y
npm install

Perbaiki exports.hostNamedi constants.js (nilai untuk host saat ini):

vim ~/back/constants.js

Jalankan aplikasi kita di terminal ketiga:

npm start

Di file userGenerator.sh, tetapkan nilai yang HOST_4benar untuk variabel :

vim ~/back/generators/userGenerator.sh

Selanjutnya, kita perlu menjalankan skrip yang akan membuat pengguna organisasi Rumah Sakit:

./back/generators/userGenerator.sh kindergarten

Kami sekarang memiliki pengguna ketiga di tabel Pengguna di database.

Instal wkhtmltopdf di server EC2 kedua, ketiga dan keempat


Aplikasi kembali menggunakan perpustakaan wkhtmltopdf untuk menghasilkan laporan PDF tentang status kesehatan anak.

Kita perlu menginstal libpng - perpustakaan resmi untuk bekerja dengan grafik raster dalam format PNG. Perpustakaan adalah platform independen dan terdiri dari fungsi-fungsi yang ditulis dalam bahasa C.

Tim pertama akan menginstal wkhtmltox - perpustakaan LGPLv3 open source untuk rendering HTML ke PDF dan berbagai format gambar menggunakan mesin rendering QtWebKit:

wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum install -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm

Blok perintah kedua akan mengunduh dan menggunakan pustaka libpng15:

wget https://sourceforge.net/projects/libpng/files/libpng15/older-releases/1.5.15/libpng-1.5.15.tar.gz/download -O libpng-1.5.15.tar.gz
tar -zxvf libpng-1.5.15.tar.gz
cd libpng-1.5.15

Blok perintah ketiga diperlukan untuk menginstal kompiler:

sudo yum groupinstall -y "Development Tools"
./configure --prefix=/usr
sudo make install

Anda masih perlu menginstal LibTIFF:

sudo yum install -y libtiff

Kami dapat menguji:

wkhtmltopdf https://majestic.cloud majestic.pdf

Sekarang Anda dapat membuat dan melihat dokumen PDF.

Sedikit tentang Node SDK


NodeJS-tools untuk bekerja dengan jaringan Fabric Hyperledger disajikan dalam bentuk paket "fabric-ca-client -v 1.4.0" dan "fabric-network" v 1.4.0 ". Semua layanan aplikasi backend yang berinteraksi dengan jaringan menggunakan Node SDK terletak di folder Services, di akar proyek.

Anda dapat membaca tentang alat-alat ini dan metode mereka dalam dokumentasi resmi .

Proses bisnis aplikasi


Sekarang kita akan berbicara tentang bagaimana anggota jaringan berinteraksi satu sama lain dalam aplikasi ini. Semua proses dijelaskan dalam diagram UML. Mari kita pertimbangkan masing-masing secara lebih rinci.


Gbr.5. Deskripsi grafis dari proses bisnis dalam aplikasi.

Jadi, ada beberapa organisasi di jaringan: Orang Tua, Rumah Sakit, dan TK.

Seorang anggota Orang Tua membuat catatan kesehatan elektronik untuk dua anak mereka. Data ini akan disimpan (dan ditambahkan) di jaringan blockchain. Selanjutnya, orang tua mengirim permintaan untuk perjanjian dengan dokter anak, yang akan mengamati anak-anaknya sampai mereka mencapai usia dewasa (dalam diagram - permintaan untuk perjanjian dengan dokter ).

Seorang anggota organisasi rumah sakit menandatangani perjanjian (dalam diagram - dokter menandatangani perjanjian ).

Selanjutnya, orang tua mengirim permintaan ke taman kanak-kanak dengan permintaan untuk mendaftarkan anaknya (dalam diagram - permintaan taman kanak-kanak untuk menerima anak ).


Fig. 6. Halaman dengan daftar institusi pendidikan yang tersedia di akun orang tua.

Taman kanak-kanak melihat permintaan dalam daftar permintaan baru:


Gbr. 7. Halaman dengan daftar aplikasi untuk masuk ke akun pribadi lembaga pendidikan.

Taman kanak-kanak sebelum memutuskan penerimaan anak harus memastikan kesehatannya memuaskan. Untuk melakukan ini, taman kanak-kanak mengirimkan permintaan ke klinik tempat anak ini diamati (dalam diagram - permintaan laporan kesehatan anak ). Permintaan ke dokter anak dilakukan secara otomatis setelah permintaan masuk ke taman dipindahkan ke tab "Diterima".


Gbr. 8. Halaman dengan daftar aplikasi yang disetujui untuk masuk ke akun pribadi lembaga pendidikan.

Dokter anak melihat permintaan dan menghasilkan laporan yang berisi data tentang kesehatan anak (dalam diagram - buat laporan kesehatan anak ).


Gambar 9. Halaman dengan daftar aplikasi untuk membuat laporan tentang keadaan kesehatan anak di akun pribadi rumah sakit.

Orang tua melihat bahwa dokter anak telah membuat laporan:


Gbr. 10. Halaman di akun pribadi orang tua, yang menampilkan status laporan tentang status kesehatan anak.

... dan membuat keputusan tentang pemberian akses ke lembaga pendidikan prasekolah untuk melihat dan mengunduh laporan (dalam diagram - beri izin untuk melihat laporan ).


Fig. 11. Jendela sembulan untuk memilih lembaga pendidikan yang dapat melihat laporan medis yang dihasilkan.

Klik orang tua "Konfirmasi":


Gambar 12. Pemberitahuan bahwa lembaga pendidikan yang dipilih telah menerima izin untuk melihat laporan medis.

Dalam daftar laporan dalam aplikasi lembaga pendidikan, muncul informasi bahwa laporan telah dibuat dan tersedia untuk dilihat dan diunduh dalam format PDF.


Gbr. 13. Tautan untuk mengunduh laporan dalam format PDF sesuai dengan aplikasi yang disetujui.

Ini adalah laporan yang akan Anda lihat di tab baru di komputer Anda:


Fig. 14. Laporan kesehatan yang dihasilkan oleh karyawan rumah sakit.

Membuat rekam medis dan perjanjian dengan dokter anak, menandatangani perjanjian


Karena aplikasi dirancang lebih untuk menunjukkan penyebaran jaringan pada server EC2 yang terpisah, kami akan menjalankan beberapa perintah dari skrip yang disiapkan.

Server EC2 Pertama:

node ~/back/generators/setCards.js

Kami sebelumnya telah terhubung ke database. Setelah menjalankan perintah, Anda akan melihat dua entri dalam tabel Kartu. Juga, informasi tentang data medis kedua anak ini dicatat di blockchain.

Dari server EC2 ini kita perlu membuat perjanjian dengan dokter anak yang akan mengamati anak-anak:

node ~/back/generators/createAgreement.js

Sekarang perjanjian ini harus ditandatangani oleh pengguna yang kami buat untuk organisasi Rumah Sakit. Kami menjalankan perintah dari host kedua:

node ~/back/generators/signAgreement.js

Perjanjian kami ditandatangani oleh dokter dan kami dapat terus mengerjakan aplikasi kami. Selanjutnya, kita perlu menginstal aplikasi frontend pada server EC2 kedua, ketiga dan keempat.

PS: Anda dapat menemukan semua perintah untuk menghasilkan pengguna, kartu, perjanjian, dan perjanjian penandatanganan di folder ~ / back / generator.

Aplikasi Frontend Orang Tua


Jalankan pada host kedua (di mana organisasi Orang Tua berada):

cd ~
git clone https://github.com/nixsolutions/blockchain-poc-frontend.git front

Kami membuat file .env dan menentukan nama host tempat aplikasi frontend kami berada:

vim ~ /front/.env:


VUE_APP_API_BASE_URL='http://ec2-107-22-75-46.compute-1.amazonaws.com:3006/'

Perlu untuk menetapkan dependensi:

cd front
npm install

Anda juga harus membangun aplikasi dan menjalankannya di port 8080:

docker build . -t my-app
docker run -d -p 8080:80 my-app

Aplikasi kami akan tersedia di: di http://<HOST_2>:8080mana <HOST_2>adalah alamat server EC2 kedua tempat aplikasi kami berada.

Login: parentspassword: password.

Seperti inilah tampilan frontend. Di sini Anda akan melihat informasi tentang kartu medis yang kami buat dari terminal:


Gbr. 15. Informasi tentang catatan medis anak-anak di akun pribadi orang tua.

Aplikasi Frontend Rumah Sakit


Jalankan pada host kedua (di mana organisasi Rumah Sakit berada):

cd ~
git clone https://github.com/nixsolutions/blockchain-poc-frontend.git front

Kami membuat file .env dan menentukan nama host tempat aplikasi frontend kami berada:

vim ~ /front/.env:


VUE_APP_API_BASE_URL='http://ec2-3-91-238-161.compute-1.amazonaws.com:3006/'

Perlu untuk menetapkan dependensi:

cd front
npm install

Anda juga harus membangun aplikasi dan menjalankannya di port 8080:

docker build . -t my-app
docker run -d -p 8080:80 my-app

Aplikasi kami akan tersedia di: di http://<HOST_3>:8080mana <HOST_3>adalah alamat server EC2 ketiga.

Login: hospitalpassword: password.

Aplikasi frontend TK


Jalankan pada host kedua (di mana organisasi TK berada):

cd ~
git clone https://github.com/nixsolutions/blockchain-poc-frontend.git front

Kami membuat file .env dan menentukan nama host tempat aplikasi frontend kami berada:

vim ~ /front/.env:


VUE_APP_API_BASE_URL='http://ec2-107-22-12-137.compute-1.amazonaws.com:3006/'

Perlu untuk menetapkan dependensi:

cd front
npm install

Anda juga harus membangun aplikasi dan menjalankannya di port 8080:

docker build . -t my-app
docker run -d -p 8080:80 my-app

Aplikasi kami akan tersedia di: di http://<HOST_4>:8080mana <HOST_4>adalah alamat server EC2 keempat.

Login: kindergartenpassword: password.

Kesimpulan


Kami memeriksa cara menggunakan jaringan aplikasi blockchain di beberapa server virtual atau fisik. Artikel ini dirancang untuk menjadi akrab dengan dasar-dasar teknologi blockchain, tahu apa kontrak pintar, dan setidaknya secara dangkal akrab dengan kerangka kerja Hyperledger Fabric dan aplikasi sampel kain standar.

All Articles