Instruksi lebih detail dapat diakses di https://www.edx.org/course/blockchain-business-introduction-linuxfoundationx-lfs171x-0 pada bab 4 dan bab 7.
Berikut adalah perangkat lunak yang harus dipersiapkan untuk menjalankan DIMS pada perangkat komputer baru. Versi perangkat lunak tidak perlu sama persis dengan yang dijelaskan pada tabel, kecuali untuk versi perangkat yang diberi keterangan.
- Ubuntu 16.04 LTS x64
- Node.Js 8.11.3 (jangan gunakan v7.x)
- NPM 5.6.0 (Gunakan versi lebih dari v3.x)
- Go 1.10.3
- Hyperledger Fabric 1.1.0 (DIMS diimplementasikan hanya untuk v1.1.0)
- Fabric Node SDK 1.1.0 (DIMS diimplementasikan hanya untuk v1.1.0)
- Fabric CA Node SDK 1.1.0 (DIMS diimplementasikan hanya untuk v1.1.0)
- c-url 7.61.0
- Docker CE 18.03
- Docker Compose 1.9.0
Sebelum menjalankan program, beberapa persiapan harus dilakukan. Persiapan ini dilakukan hanya sekali dan terkait penggantian akun firebase yang dilakukan pada aplikasi. Setelah mengikuti langkah ini, database realtime bisa Anda akses di console Firebase Anda. Berikut adalah langkah yang harus dilakukan untuk mengganti akun firebase ke akun Anda.
- Buka http://firebase.google.com
- Log in ke dalam akun Firebase Anda
- Masuk ke dalam console
- Buat project baru dengan setting: default
- Buka menu “Develop” pada menu di sebelah kiri layar, dan pilih “Database”
- Buat “realtime database” dengan mode test mode
- Masuk ke dalam project setting dan klik “Add Firebase to your web app”
- Salin kode konfigurasi yang diberikan pada layar seluruhnya
- Ganti kode konfigurasi yang ada pada file proyek di bawah ini dengan kode konfigurasi Anda (unduh di https://github.com/rezkus/dims-devmode)
- /www/index-user.html
- /www/index-inquisitor.html
- /www/index-issuer.html
- /www/login.html
- /populateAuth.js
- Program siap untuk dijalankan
Berikut adalah cara menjalankan DIMS dari komputer baru.
- Buka terminal pada Ubuntu 16.04
- Masuk ke dalam direktori program yang telah diunduh/clone dari https://github.com/rezkus/dims-devmode
- Jalankan perintah “./runApp.sh” pada terminal yang sedang dibuka di direktori terkait. Perintah tersebut akan melakukan:
- Penghapusan kontainer artefak blockchain pada Docker yang sudah dibuat sebelumnya (jika ada)
- Pembuatan kontainer artefak blockchain yang baru
- Mengunduh seluruh package npm yang ditulis pada file “package.json”
- Menjalankan web server pada localhost:4000
- Buka terminal baru dan masuk ke direktori yang sama
- Jalankan perintah “./setupApp.sh” pada terminal baru yang sedang dibuka di direktori terkait. Perintah tersebut akan melakukan:
- Memasukkan dummy user Jim dari Org1 untuk debugging pada blockchain dengan Fabric CA
- Memasukkan dummy user Barry dari Org2 untuk debugging pada blockchain dengan Fabric CA
- Membuat channel bernama “mychannel”
- Memasukkan Org1 ke dalam channel yang baru saja dibuat
- Memasukkan Org2 ke dalam channel yang baru saja dibuat
- Melakukan instalasi chaincode pada seluruh peer dari Org1
- Melakukan instalasi chaincode pada seluruh peer dari Org2
- Melakukan instantiasi chaincode untuk menghasilkan blok genesis
- Setelah proses selesai, jalankan perintah “node populateAuth.js” untuk memasukkan dummy credential ke dalam firebase (Peringatan: Pastikan data credential pada firebase dihapus seluruhnya sebelum mengeksekusi perintah ini)
- Masuk ke login / dashboard page dengan mengunjungi localhost:4000/login.html (credential login ada di populateAuth.js)
Berikut adalah hal yang harus dilakukan jika ingin memberhentikan aplikasi dari bekerja
- Tekan Ctrl+C pada terminal tempat dijalankan perintah “./runApp.sh”. Aplikasi web dan blockchain akan dimatikan
- Hapus seluruh data di realtime database pada Firebase untuk mencegah duplikasi dan eror ketika sistem dijalankan kembali
- Jika diperlukan, jalankan perintah “docker rm -f $(docker ps -aq)” dan “docker network prune” pada terminal