Blockchain Cardano akan memungkinkan pengguna untuk membuat smart contracts dengan munculnya era Goguen (to see Cardano’s Roadmap, please go to this site). Dalam pembuatan smart contracts tersebut, Cardano memiliki bahasa pemrograman khusus yang akan digunakan, yaitu Plutus. Namun, sebenarnya apa itu Plutus? Apa perbedaannya dengan bahasa pemrograman smart contracts lain seperti Solidity? Let’s find out together!
Pengertian Plutus
Bahasa pemrograman plutus adalah bahasa pemrograman based on Haskell. Ini berarti, seperti halnya Haskell, plutus memiliki lebih banyak kemiripan dengan matematika daripada pemrograman. Haskell diakui di tingkat akademis dan pengembang perangkat lunak dengan kompetensi dasar di ilmu komputer. Dengan demikian, penulisan smart contracts menggunakan Plutus akan lebih aman dan lebih dapat diandalkan daripada bahasa pemrograman smart contracts lainnya.
Cardano memilih Haskell dan Plutus sebagai bahasa pemrograman pilihannya. Bahasa pemrograman Haskell akan digunakan untuk kode yang sifatnya off-chain (ada di dalam mesin pengguna), sementara Plutus digunakan untuk pembuatan smart contract (on-chain). Keduanya adalah bahasa pemrograman fungsional. Developer IOHK merancang bahasa pemrograman plutus yang jauh lebih aman dan dapat melakukan pembuktian secara formal.
IOHK sudah merilis Plutus Platform, bahasa smart contract untuk blockchain Cardano. Anda dapat mencoba Plutus secara online, tanpa perlu mengunduh atau menginstal apapun, melalui Plutus Playground. Platform Plutus tersedia open source. Anda dapat menemukan code, dokumentasi, dan source nya pada link ini.
Apa itu Plutus Core?
Smart contracts yang berjalan di blockchain Cardano akan ditulis dalam bahasa pemrograman yang disebut Plutus Core. Namun, pembuat smart contracts tidak menulis di Plutus Core secara langsung. Mereka akan menulis kontrak di Plutus Platform seperti yang disebutkan sebelumnya. Plutus Platform adalah software development kit (SDK). SDK dapat dianggap sebagai toolbox dan meja kerja yang membantu pengembang perangkat lunak untuk membangun sesuatu. Pengembang aplikasi menggunakan SDK untuk mengembangkan aplikasi untuk platform seluler menggunakan kode yang dapat dipahami manusia, tetapi akan dijalankan dengan cara yang dipahami oleh komputer. Platform Plutus akan memungkinkan pengembang untuk menulis smart contracts dengan cara yang mudah dipahami, yang pada akhirnya akan dijalankan pada blockchain Cardano sebagai Plutus Core.
Lalu apa sih sebenarnya perbedaan antara bahasa pemrograman plutus dan solidity?
Bahasa pemrograman plutus termasuk Functional Programming Language, sementara bahasa pemrograman solidity adalah Imperative Programming Language. Pada dasarnya, bahasa pemrograman fungsional itu berarti Anda tidak perlu memberitahukan kepada komputer step by step bagaimana cara untuk mencapai sesuatu. Maka dari itu, cara bekerja dari functional programming adalah untuk memberitahukan komputer “what to do”, instead of “how to do it”. Jika dibandingkan dengan imperative programming yang dimiliki oleh solidity, bahasa pemrograman plutus akan jauh lebih aman karena outputnya akan lebih predictable.
Kesimpulannya,
Cardano memilih dua bahasa pemrograman sebagai tulang punggung platform smart contracts-nya, yaitu Haskell dan Plutus. Keduanya termasuk bahasa pemrograman fungsional. Bahasa pemrograman plutus jauh lebih aman dan dapat melakukan pembuktian secara formal (secara matematis).
Tentang EMURGO
EMURGO adalah perusahaan blockchain global yang menghadirkan solusi untuk developers, startups, enterprise, dan pemerintah. EMURGO mengembangkan aplikasi dengan standard enterprise, tools untuk developer, berinvestasi di startup, dan memberikan edukasi tentang teknologi blockchain. EMURGO memiliki kantor dan menangani proyek di Singapura, Jepang, Amerika Serikat, India, dan Indonesia. EMURGO juga adalah salah satu pendiri dari Cardano protocol.
Pelajari lebih lanjut tentang EMURGO dengan mengunjungi website resmi kami di sini
Follow akun media sosial EMURGO Indonesia:
Twitter : http://bit.ly/EmurgotwitterId
Facebook :bit.ly/Emurgo_id
Instagram : http://bit.ly/EmurgoInstaId
Linkedin : http://bit.ly/emurgoidLinkedin