Developer Interaction With Blockchain Ecosystem

Nanra Sukedy
5 min readFeb 25, 2022

Halo teman-teman, selamat datang di Medium saya. Pada pembahasan kali ini saya ingin bercerita lebih lanjut tentang peran seorang developer dalam ekosistem blockcahin. Pembahasan kali ini merupakan lanjutan dari tulisan sebelumnya yaitu tentang aktor dan role dalam jaringan blockchain.

Jika pada pembahasan sebelumnya kita sudah mendapat gambaran tentang aktor dan role apa saja yang terdapat dalam sebuah ekosistem Blockchain, dan sempat dibahas sekilas tentang jobdesk dari masing-masing role ataupun aktor, maka kali ini saya mencoba untuk membahas lebih lanjut tentang pekerjaan dari role Blockchain Developer dalam sebuah ekosistem Blockchain Network.

Domain Fokus Seorang Blockchain Developer

Masih mengutip dari buku “Blockchain with Hyperledger Fabric: Build Decentralized application using Hyperledger Fabric 2” karya dari Nitin Gaur dkk.

Pada salah satu chapter buku tersebut, penulis mengilustrasikan alur cara berinteraksi seorang blockchain developer dalam sebuah jaringan blockchain. Ilustrasi tersebut juga menunjukkan domain fokus yang akan berkaitan dengan bidang pekerjaan yang dikerjakan seorang blockchain developer ketika membangun sebuah aplikasi atau program didalam blockchain network environment.

Untuk lebih jelasnya, silahkan perhatikan gambar berikut ini:

Blockchain Developer Interaction

Jika dilihat dari ilustrasi gambar diatas maka terdapat 2 bidang pekerjaan utama seorang blockchain developer, yaitu:

  • Smart Contract Development
  • Client Application Development

Smart Contract Development

Pada bidang pekerjaan ini seorang blockchain developer akan fokus untuk menulis baris program yang merupakan hasil translasi dari kebutuhan bisnis proses dan logic yang sebelumnya sudah disiapkan dan dirancang oleh tim analis. Rancangan bisnis proses tersebut akan diimplementasikan didalam jaringan blockchain berupa smart contract application.

Bidang pekerjaan smart contract developer ini, membuat seorang blockchain developer akan sering berinteraksi langsung dengan komponen infrastruktur core network blockchain seperti channel, world state, dan ledger. Namun pada umumnya setiap framework core blockchain akan menyediakan SDK kit untuk membantu proses penulisan smart contract oleh developer.

Jika pada Hyperledger Fabric misalnya akan menggunakan Fabric SDK dan juga standard yang sudah disediakan oleh hyperledger.

Seorang developer akan membuat sebuah program yang akan menghandle proses penyimpanan data kedalam world state (database) dan juga melakukan pencatatan kedalam ledger (blockchain). Kemudian disamping itu juga membuat program yang meng-handle tentang proses pengambilan data dari world state dan block information dari ledger serta menentukan hak akses dari data tersebut.

Misal contoh kasus, pada framework Hyperledger Fabric dikenal sebuah istilah Access Control List (ACL), dimana hanya user-user tertentu yang bisa membaca atau menulis data baik itu kedalam world state atau ledger. Lebih tepatnya user yang sudah terdaftar didalam sebuah list control bucket. List control tersebut biasanya berisi informasi wallet identity ataupun mspid yang sebelumnya sudah diterbitkan oleh Certificate Authority.

Proses ACL filtering ini akan ditulis pada program smart contract oleh seorang smart contract developer.

Perlu diketahui juga bahwa smart contract yang dibuat oleh seorang developer akan diinstall pada komponen jaringan peer. Proses instalasi sebuah smart contract jika pada jaringan Hyperledger Fabric membutuhkan persetujuan dari mayoritas peer yang tergabung dalam sebuah consortium, namun Hyperledger Fabric juga menyediakan fitur untuk merubah aturan ini, kita tinggal menyesuaikan dengan kebutuhan bisnis proses yang sedang kita bangun.

Kemudian untuk mengakses smart contract ini, Hyperledger Fabric atau framework lain biasanya menggunakan metode RPC (remote procedural call).

Pada jaringan blockchain Ethereum misal, seorang developer juga dapat menulis smart contract dan kemudian menginstall smart contract tersebut kedalam jaringan utama Ethereum (mainnet).

Smart contract tersebut ditulis sesuai dengan standar regulasi yang berlaku dalam jaringan Etherum, misal jika kita ingin membuat sebuah token dalam jaringan Ethereum, maka kita bisa mengikuti standar dibawah ini:

  • ERC-20
  • ERC-721
  • ERC-777
  • ERC-1155

Kemudian yang perlu dicatat adalah bahwa setiap jaringan blockchain akan mempunyai standard dan regulasi yang berbeda-beda dalam proses pembuatan smart contract-nya.

Seperti misal Hyperledger Fabric dengan Ethereum, disamping secara arsitektur sudah berbeda (permissioned & permissionless), environment hingga teknologi yang digunakan dalam proses penulisan smart contract-nya juga berbeda. Kemudian jika pada Ethereum kita membutuhkan “ether” untuk setiap proses instalasi smart contract kedalam jaringan, baik testnet ataupun mainnet sedangkang pada Hyperledger Fabric kita tidak perlu mengeluarkan biaya dalam proses instalasi smart contract kedalam jaringan blockchainnya.

Client Application Development

Pada bidang pekerjaan ini, seorang developer akan fokus untuk membangun aplikasi pendukung yang terhubung dengan jaringan blockchain. Baik itu aplikasi dalam bentuk website atau mobile.

Perlu diketahui juga bahwa, semakin kuat dan besar sebuah jaringan Blockchain sangat dipengaruhi oleh ekosistem dari jaringan blockchain tersebut. Jaringan Ethereum sangat kuat dikarenakan ekosistemnya yang sangat beragam mulai dari smart contract, NFT, Web3, hingga beberapa platform aplikasi lainnya (metamask).

Jika pada bidang pekerjaan smart contract developer, seorang developer akan sering berinteraksi langsung dengan komponen-komponen core network blockchain, maka pada bidang pekerjaan Client App developer ini seorang developer hanya fokus berinteraksi dengan smart contract yang sudah dibuat oleh smart contract developer.

Misal contohnya jika pada Hyperledger Fabric, sebuah chaincode (smart contract) yang sudah terinstall dalam sebuha node peer, maka untuk mengaksesnya kita bisa langsung melakukan proses invoking ke procedure dari chaincode yang dituju langsung melalui CLI.

Namun jika pada layer client application, kita bisa memanfaatkan library kit yang sudah disediakan oleh Hyperledger. Dengan memanfaatkan library tersebut, proses invoking sebuah chaincode akan lebih mudah dan lebih dinamis dikarenakan sudah dalam bentuk aplikasi bukan CLI lagi.

Kemudian seperti halnya proses development smart contract, dimana setiap jaringan blockchain memiliki aturan yang berbeda-beda. Pada proses pengembangan client app ini juga sama halnya. Setiap jaringan blockchain akan mempunyai aturan yang berbeda baik itu pada saat proses pengembangan client app hingga proses interaksinya dengan smart contract yang sudah terinstal dalam jaringan blockchain.

Misal jika pada Ethereum client application didominiasi dengan mengadopsi atau menerapkan Web3. Dimana Web3 merupakan decentralized application yang didukung dalam jaringan Ethereum. Didalam WEB3 ini juga sebenarnya sudah tersedia library-library yang memudahkan developer dalam proses pengembangan aplikasi dalam lingkungan jaringan Ethereum.

Kemudian proses konfigurasi dan integrasi dari Web3 ini juga mempunyai treatment khusus, salah satu misalnya harus terhubung dengan wallet (Metamask misalnya). Contohnya platform OpenSea, setiap kita ingin login kedalam akun OpenSea milik kita, pasti akan diminta untuk menghubungkan website tersebut dengan salah satu wallet milik kita. Paling umumnya misalnya wallet metamask.

Tampilan List Wallet Ketika Login OpenSea

Penutup

Memasuki dunia baru yang disebut dengan Blockchain memang membutuhkan waktu lebih untuk mempelajarinya. Dikarenakan memang ada beberapa istilah dan konsep yang cukup asing dan tidak umum bagi khalayak umum, termasuk seorang developer.

Namun para pengembang Blockchain juga pasti tidak akan menutup mata akan hal tersebut, sehingga mereka juga pasti menyadari dan paham betul bahwa salah satu kekuatan dari jaringan blockchain adalah ekosistem dan komunitasnya. Maka dari itu orang-orang dengan background non-blockchain juga difasilitasi untuk bisa berkontribusi dalam sebuah ekosistem blockchain.

Hampir semua platform teknologi ataupun framework Blockchain pasti menyediakan dokumentasi resmi bagaimana cara menggunakan teknologi tersebut. Begitu halnya dengan teknologi Blockchain, lucky to us, zaman sekarang memang sangat dimudahkan untuk mengakses dokumentasi-dokumentasi tersebut. Selain itu kita juga bisa belajar dari buku ataupun media online baik itu di Youtube ataupun platform lainnya.

Semoga dengan tulisan yang singkat ini teman-teman mendapatkan sesuatu yang bisa menambah wawasan seputar dunia Blockchain.

Horas ma dihita sasudena

Source & Image Source Captured from Book “Blockchain with Hyperledger Fabric: Build Decentralized application using Hyperledger Fabric 2” Nitin Gaur dkk.
OpenSea:
https://opensea.io/

--

--

Nanra Sukedy

Software Engineer & Permissioned Blockchain Engineer from Bandung, Indonesia