Memasang Blockchain Secara Pantas
Assalamualaikum wbt,
Saya ingin berkongsi pengalaman di dalam mempelajari blockchain dan bagaimana kita bangunkan satu produk atau aplikasi blockchain yang ringkas menggunakan Hyperledger fabric. Untuk permulaan saya syorkan anda bermula dengan composer dan playground yang disediakan di dalam Hyperledger fabric 1.0 dan 1.2. Untuk makluman, hyperledger compose dan playground telah end of support pada tahun 2020 namun ia masih boleh digunakan untuk tujuan belajar dan faham bagaimana blockchain beroperasi. Contoh yang saya tunjukkan ini menggunakan Ubuntu 16.04.
Berikut merupakan langkah2.
sila pastikan node 8.x.x
nvm install 8.9.4
nvm alias default v8.9.4
.
Peringatan, sila pastikan anda tidak mengguna root untuk memasang hyperledger. sila cipta users baru .contoh saya create 1 user ‘playground’
sudo adduser playground
sudo adduser playground sudo
1.Memasang Library Permulaan
su playground
sudo apt update
curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh chmod u+x prereqs-ubuntu.sh ./prereqs-ubuntu.sh
2.Pemasangan Komponen
Oleh kerana kita ingin menggunakan hyperledger playground dan composer kita perlu mengguna fabric Hlf 1.1 dan 1.2.1 j
jika hlf 1.1
npm install -g composer-cli@0.19
npm install -g composer-rest-server@0.19
npm install -g generator-hyperledger-composer@0.19
npm install -g composer-playground@0.19
npm install -g yo@2.0.5
jika hlf 1.2.1
npm install -g composer-cli@0.20.9
npm install -g composer-rest-server@0.20.9
npm install -g generator-hyperledger-composer@0.20.9
npm install -g composer-playground@0.20.9
npm install -g yo@2.0.5
Nota / Tips
Perhatian, pastikan anda meletakkan version yo semasa memasangnya.
npm install -g yo@2.0.5 & jika anda tidak meletakkan versi yo spt di bawah ini, secara automatik pemasangan yo akan mengguna yo versi terkini 4.xxx dan akan mengganggu dependency lib lain.(yo akan gagal berjalan ).
npm install -g yo (https://github.com/yeoman/yo/issues/591)
3.Memasang Hyperledger
mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz
tar -xvf fabric-dev-servers.tar.gz
cd ~/fabric-dev-servers
export FABRIC_VERSION=hlfv12
./downloadFabric.sh
4.Memulakan Aplikasi Blockchain
Guna yo untuk create boilerplate atau template fabric
yo hyperledger-composer:businessnetwork
masukkan informasi yang diperlukan & satu fail projek (folder business network) akan dibuat selepas arahan di atas contoh nama business nextwork : insurance-network
salin file startFabric.sh, stopFabric.sh, _loader.sh, creatPeerAdminCard.sh, fabric-scripts folder from fabric-dev-servers folder to insurance-network folder
cp startFabric.sh / insurance-network
cp stopFabric.sh / insurance-network
cp _loader.sh / insurance-network
cp creatPeerAdminCard.sh / insurance-network
cp -R fabric-scripts / insurance-network
seterusnya create business archive (*.ba)
composer archive create -t dir -n .
lancarkan business network
./startFabric.sh
./createPeerAdminCard.sh
pasang business network
composer network install –card PeerAdmin@hlfv1 –archiveFile insurance-network@0.0.1.bna
mulakan rangkaian
composer network start –networkName insurance-network –networkVersion 0.0.1 –networkAdmin admin –networkAdminEnrollSecret adminpw –card PeerAdmin@hlfv1 –file networkadmin.card .
Nota :
Jika ada error seperti ini .
Response from attempted peer comms was an error: Error: failed to execute transaction ee4e214166ac746de1703a03444493951dc53284a33fc89c639642d1e38967d4: error starting container: error starting container: Failed to generate platform-specific docker build: Failed to pull hyperledger/fabric-ccenv:latest
cuba update docker images dengan versi 1.4
docker pull hyperledger/fabric-ccenv:1.4.0
docker tag hyperledger/fabric-ccenv:1.4.0 hyperledger/fabric-ccenv:latest .
import business network card
composer card import –file networkadmin.card
ping network
composer network ping –card admin@insurance-network
jika ada error seperti ini Error : Error trying to ping . synctaxerror:unexpected end of JSON input lakukan langkah ini
- ./stopFabric.sh
- ./teardownAllDocker.sh
For all Docker containers or images (not just Hyperledger Fabric and Composer)
1 – Kill and remove only the containers
2 – Kill and remove the containers and remove all the downloaded images
3 – Quit and not do anything
1) Kill & Remove
2) Remove Images
3) Quit
Please select which option > 1 (pilih 1)
mulakan semula fabric
- ./startFabric.sh
- ./createPeerAdminCard.sh
5. Memulakan Playground
composer-playground
6. Memulakan REST Server
composer-rest-server
Perhatian : Jika ada error seperti ini
playground@ip-172-31-32-151:~/fabric-dev-servers/autoxchain$ composer-rest-server
/home/playground/.nvm/versions/node/v8.9.4/lib/node_modules/composer-rest-server/node_modules/formdata-node/lib/cjs/Blob.js:80
for await (const chunk of (0, blobHelpers_1.consumeBlobParts)(__classPrivateFieldGet(this, _Blob_parts, “f”))) {
SyntaxError: Unexpected reserved word
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/playground/.nvm/versions/node/v8.9.4/lib/node_modules/composer-rest-server/node_modules/formdata-node/lib/cjs/File.js:16:16)
Penyelesaian:
bole cuba rebuild
cd ‘/root/.nvm/versi ons/node/ v8.9.4/lib/node_modules/composer-rest-server/’
npm rebuild –unsafe-prem
jika tidak selesai, boleh update swagger library
npm install swagger-client@3.9.0
dependency issue with swagger version
jika tiada masalah, rest server akan up.
7.Upgrade Business Network
larikan command ini setiap kali ada kemaskini pada model,logic dan permission di business network.
composer-rest-server -c admin@insurance-network -n never -u true -d n
Tahniah,anda telah berjaya untuk menjalankan dan melancarkan satu dapp ringkas di atas fabric.
Tambahan Maklumat:
Jika berlaku gangguan atau command mengeluarkan error.anda perlu uninstall kesemula library fabric yang berkaitan.
stop dulu fabric
export FABRIC_VERSION=hlfv12
~/fabric-dev-servers/stopFabric.sh
~/fabric-dev-servers/teardownFabric.sh
.
npm uninstall -g composer-cli composer-rest-server generator-hyperledger-composer npm uninstall -g composer-playground rm -rf ~/.composer
rm -rf ~/fabric-dev-servers
clear dan remove semua image docker docker kill $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images dev-* -q)
selesai dan anda boleh ikuti pemasangan semula fabric seperti langkah di atas. Terima Kasih.
. catatan restart network without out lost data https://stackoverflow.com/questions/48070818/how-to-restart-the-fabric-composer-without-losing-the-existing-data/48075379
#!/bin/bash
cd ./fabric-scripts/hlfv1/composer
docker-compose stop
docker-compose start
jgn guna command startfabric.container akan lost dan business network akan hilang.
tq
Recent Comments