-
Notifications
You must be signed in to change notification settings - Fork 9
Nuchain App
Nuchain App adalah istilah untuk aplikasi terdistribusi yang jalan di atas jaringan Nuchain, biasa juga disebut Smart Contract atau dApps.
Dokumen ini berisi cara membuat dan mendeploy App ke jaringan Nuchain.
Buka laman dashboard.nuchain.network, lalu pilih menu Developer > Contracts:
Di laman Contracts klik tombol (+) Upload & deploy code:
Kemudian akan muncul dialog upload & deploy code, pada dialog box ini Anda perlu memasukkan alamat akun yang akan digunakan untuk men-deploy dan upload contract bundle, contract bundle adalah file hasil kompilasi dari kode kontrak Anda biasanya berekstensi .contract, contoh umkm4.contract, untuk lebih jelasnya baca contoh dan cara buatnya di sini.
Setelah kode kontrak berhasil diunggah maka tampilannya jadi kurang lebih sebagai berikut:
Klik Next dan masuk ke langkah selanjutnya konfigurasi:
pada langkah ini Anda perlu mengisi:
- deployment constructor - sebagai entry point untuk menginstansiasi app-nya, apabila hanya ada satu constructor maka pilihan ini tidak bisa diganti. Pada contoh gambar di atas saya membuat app yang pada bagian constructor-nya ada parameter owner yang saya siapkan untuk menset siapa yang akan menjadi pemilik dari kontrak ini, karena owner ini memiliki otorisasi khusus yakni menambahkan anggota, menambahkan poin dan mengurangi poin.
- endowment - adalah biaya sewanya, perlu diketahui bahwa Nuchain menggunakan konsep sewa untuk setiap app yang jalan di atas jaringan Nuchain, hal ini untuk menghindari spammer dari melakukan serangan ddos dengan cara membanjiri jaringan menggunakan data kontrak sampah, dan sewa ini nilainya tergantung dari seberapa besar app yang akan di-deploy dan seberapa banyak item storage yang digunakan di dalamnya. Untuk contoh app umkm4 hanya dibutuhkan 200 ARA untuk endowment ini, isi sesuai dengan app Anda.
Langkah selanjutnya adalah sign & deploy.
Setelah selesai dan sukses di-deploy maka definisi fungsi-fungsi pada app Anda akan muncul di bagian contrats:
di sini Anda bisa mencoba-coba fungsinya secara langsung melalui dashboard, dan apabila sudah oke Anda bisa mengakses setiap fungsi tersebut melalui API dan sudah tersedia library javascript-nya.
Snippet kode dalam mengakses fungsi addPoint
pada contoh applikasi umkm4:
this.contract.tx
.addPoint(
{ value: 0, gasLimit: -1 }, // parameter wajib untuk setiap call
this.memberHash,
10 // jumlah point yang akan ditambahkan
)
.signAndSend(this.selectedAccount.address, this.signer, (status) => {
this.errorInfo = "";
if (status.isInBlock) {
// data telah tertulis di blok
alert("Sukses, point telah ditambahkan!");
}
})
.catch((err) => {
alert("Gagal: " + err);
});
Untuk lebih detailnya bisa lihat contoh kodenya di Nuchain app web frontend.