Apa Itu Soliditas dan Bagaimana Digunakan untuk Mengembangkan Kontrak Cerdas?

Apa Itu Soliditas dan Bagaimana Digunakan untuk Mengembangkan Kontrak Cerdas?

Soliditas telah berkembang jauh sejak pertama kali diusulkan pada tahun 2014 dan kemudian dikembangkan oleh tim Soliditas Ethereum. Ada ratusan ribu pengembang yang menggunakan bahasa pemrograman untuk membuat layanan berbasis blockchain untuk semakin banyak kasus penggunaan.





Artikel ini menjelaskan apa itu Soliditas dan bagaimana penggunaannya di ekosistem Ethereum. Artikel ini untuk Anda jika Anda tertarik untuk mempelajari lebih lanjut tentang cara kerja bahasa pemrograman berbasis blockchain ini.





cara bermain pokemon di ios 10

Apa itu Soliditas?

Solidity adalah bahasa pemrograman tingkat tinggi berorientasi objek yang digunakan untuk membuat kontrak pintar yang mengotomatiskan transaksi di blockchain. Setelah diusulkan pada tahun 2014, bahasa ini dikembangkan oleh kontributor proyek Ethereum. Bahasa ini terutama digunakan untuk membuat kontrak pintar di blockchain Ethereum dan membuat kontrak pintar di blockchain lain.





Solidity mirip dengan salah satu bahasa pemrograman yang paling umum, JavaScript. Ini dapat dianggap sebagai dialek JavaScript. Ini berarti bahwa jika Anda memahami JavaScript, Anda dapat dengan mudah mengambil Solidity. Solidity juga memiliki karakteristik yang mirip dengan bahasa pemrograman C++ dan Python.

Sebagai bahasa tingkat tinggi, Solidity tidak perlu mengetikkan kode dalam satu dan nol. Itu membuat lebih mudah bagi manusia untuk menulis program dengan cara yang mereka anggap lebih mudah dipahami, menggunakan kombinasi huruf dan angka.



Soliditas diketik secara statis, dengan dukungan untuk pewarisan, perpustakaan, dan tipe kompleks yang ditentukan pengguna. Karena Soliditas diketik secara statis, pengguna banyak menentukan setiap variabel. Tipe data memungkinkan kompiler untuk memeriksa penggunaan variabel yang benar. Tipe data soliditas biasanya dikategorikan sebagai tipe nilai atau tipe referensi.

Perbedaan utama antara tipe nilai dan tipe referensi dapat ditemukan dalam cara mereka ditetapkan ke variabel dan disimpan di EVM (Ethereum Virtual Machine). Saat mengubah nilai dalam satu variabel dari tipe nilai tidak memengaruhi nilai dalam variabel lain, siapa pun yang merujuk ke nilai yang diubah dalam variabel tipe referensi dapat memperoleh nilai yang diperbarui.





Bagaimana Soliditas Bekerja?

Keindahan ekosistem Ethereum adalah begitu banyak cryptocurrency dan aplikasi terdesentralisasi yang dapat menggunakannya. Kontrak pintar memungkinkan teknologi unik dibuat di Ethereum untuk semua jenis bisnis dan organisasi.

Setiap tahun, dunia menghabiskan miliaran dolar untuk solusi blockchain. Banyak dari solusi ini dibuat menggunakan Solidity. Kontrak pintar yang dibangun menggunakan Solidity dapat dianggap sebagai cara untuk mengotomatisasi proses bisnis dan non-bisnis antara orang yang berbeda. Ini memastikan bahwa orang yang melakukan transaksi di blockchain tidak perlu khawatir tentang risiko seperti penipuan atau tidak dapat menggunakan mata uang yang sama.





Salah satu komponen kunci yang memungkinkan eksekusi kode Solidity adalah EVM. EVM digambarkan sebagai komputer virtual di blockchain yang mengubah ide orang menjadi kode yang menjalankan aplikasi di blockchain.

Di bawah tenda, Solidity membuat kode tingkat mesin yang dieksekusi pada EVM. Kompiler digunakan untuk memecah kode tingkat tinggi yang dapat dibaca manusia, yang diubah menjadi instruksi yang dibaca oleh prosesor. Platform yang berbeda menyediakan kompilasi Solidity gratis, termasuk kompiler online Remix dan kompiler mirip perintah yang diunduh di PC.

Kontrak pintar EVM memiliki beberapa batasan yang perlu diatasi. Salah satu yang paling signifikan dari ini adalah akses terbatas ke fungsi perpustakaan yang berguna untuk mem-parsing struktur JSON atau aritmatika titik-mengambang.

Fungsi Publik dan Pribadi

Fungsi publik mirip dengan API yang dapat diakses oleh siapa pun di dunia. Siapa saja dapat memanggil mereka dalam kode mereka. Fungsi publik dirancang, dalam banyak kasus, untuk proses bersama pada platform yang digunakan semua pengguna.

Misalnya, fungsi publik dapat dibuat untuk memungkinkan semua pengguna platform memeriksa saldo akun mereka. Salah satu cara paling umum untuk mengeksploitasi kontrak pintar adalah melalui fungsi publik.

Terkait: Apa itu Blockchain dan Bagaimana Cara Kerjanya?

Meskipun kontrak pintar dapat dengan mudah ditulis dengan Solidity, seringkali sangat sulit untuk menulisnya dengan aman. Misalnya, jika fungsi penarikan dalam kontrak pintar tidak aman, penyerang dapat memanipulasi fungsi yang rentan untuk menguras dana akun.

Penyerang dapat memanggil fungsi penarikan untuk mengirim uang ke akun yang berbeda, menggunakan loop yang berulang kali mengulangi fungsi penarikan.

Fungsi pribadi hanya dapat dipanggil dari dalam kontrak. Mereka berisi instruksi yang hanya dapat dieksekusi setelah dipanggil oleh fungsi lain, dalam sebuah rantai. Ini mempersulit kode untuk dimanipulasi oleh aktor jahat.

Standar dan Logika Kode

Standar berbeda muncul yang menentukan bagaimana kontrak pintar Solidity digunakan untuk membangun aplikasi di Ethereum. Standar ini dikenal sebagai standar ERC (Ethereum Request for Comments). Standar didasarkan pada dokumen yang berisi pedoman tentang fungsi yang diperlukan dan batasan tentang bagaimana kode harus berperilaku.

Standar ERC yang menentukan cara kerja Solidity meliputi:

  • ERC20
  • ERC165
  • ERC721
  • ERC223
  • ERC621
  • ERC777
  • ERC827
  • ERC884
  • ERC865
  • ERC1155

Ada berbagai cara Soliditas dapat digunakan untuk membuat kontrak pintar berinteraksi satu sama lain. Soliditas juga dapat digunakan untuk membuat instruksi khusus tentang bagaimana data disimpan dalam kontrak pintar. Logika dan data dalam kontrak pintar dapat dipisahkan menggunakan Solidity. Menggunakan kontrak pengganti, logika kontrak dapat diubah untuk memungkinkan hal ini.

Kekekalan

Tidak mungkin mengubah kode kontrak pintar setelah ditulis dan dikompilasi. Ini berarti bahwa setiap baris kode harus berfungsi sebagaimana dimaksud atau jika tidak, akan ada risiko serius dari kode yang dieksploitasi.

Terkait: Bagaimana Menjadi Pemrogram Blockchain dan Mulai Menghasilkan Banyak Uang

Karena blockchain Ethereum tidak dapat diubah, tidak mungkin untuk mengubah data dan logika yang tertulis padanya. Cara untuk menyiasatinya adalah dengan menggunakan proxy untuk menunjuk ke kontrak lain yang berisi logika bisnis aktual. Ini memungkinkan bug diperbaiki saat versi kontrak baru diterapkan.

cara membuat windows 7 instal usb

Biaya Gas

Ada biaya tambahan yang dibayarkan untuk menggunakan Solidity di mainnet Ethereum. Beberapa biaya tambahan didasarkan pada sistem gas di Ethereum, yang memerlukan pembayaran kepada penambang untuk mengamankan jaringan blockchain sehingga kode dapat berjalan dengan aman di dalamnya.

Saat menulis kontrak cerdas, penting untuk diingat bahwa biaya bahan bakar dapat menentukan seberapa baik kinerja kontrak cerdas. Karena biaya gas dibayarkan untuk setiap slot penyimpanan yang digunakan, tindakan yang dilakukan dengan kode Soliditas membutuhkan gas. Kontrak pintar yang mahal untuk dijalankan tidak mungkin digunakan dalam jangka panjang.

Pengoptimalan gas membantu mengurangi biaya penggunaan gas saat kode Soliditas dijalankan. Beberapa metode optimasi gas yang paling populer termasuk penggunaan perpustakaan dan menggunakan lebih sedikit fungsi. Perpustakaan sering digunakan untuk menyimpan bytecode.

Alih-alih menambahkan bytecode yang tidak perlu ke kontrak pintar, logikanya dapat diletakkan di perpustakaan. Ini membantu menjaga ukuran kontrak pintar tetap kecil. Dengan menggunakan lebih sedikit fungsi, lebih sedikit bytecode yang dibutuhkan, dan kesulitan mengaudit kode juga berkurang.

Bagaimana Soliditas Dapat Digunakan di Ethereum?

Soliditas digunakan untuk membuat kontrak pintar untuk token yang dapat dipertukarkan dan token yang tidak dapat dipertukarkan. Standar yang berbeda digunakan untuk membangun token yang tidak dapat dipertukarkan dan token yang dapat dipertukarkan di ekosistem Ethereum.

Ini memungkinkan berbagai jenis kasus penggunaan dibuat untuk orang-orang yang menggunakan blockchain. Soliditas memungkinkan orang untuk menggunakan token dan token yang tidak dapat dipertukarkan di Ethereum. Dari mencetak token yang tidak dapat dipertukarkan hingga menambahkannya untuk menghasilkan kumpulan pertanian untuk minat ekstra, berbagai jenis penggunaan token dimungkinkan oleh Ethereum.

Organisasi Otonom Terdesentralisasi (DAO) juga dimungkinkan oleh Soliditas. DAO, yang merupakan tipe baru dari struktur organisasi online, terutama ditulis dalam Solidity. DAO memungkinkan orang yang berbeda untuk berkumpul sebagai anggota pada platform online di mana mereka memberikan suara pada keputusan kunci DAO.

Soliditas memungkinkan untuk mengotomatisasi proses dalam DAO. Contoh otomatisasi proses di DAO termasuk membuat suara untuk keputusan penting dan alokasi reputasi anggota DAO untuk kontribusi mereka ke grup.

Mendefinisikan Standar untuk Blockchains

Soliditas lebih dari sekadar bahasa pemrograman. Ini mendefinisikan standar untuk masa depan teknologi blockchain.

Berkat jumlah pengembang sumber terbuka yang bekerja untuk meningkatkan keamanan dan kinerja Solidity, ribuan aplikasi di ekosistem Ethereum terus bergantung padanya agar aplikasi mereka dapat beroperasi. Karena standar baru dibuat untuk kontrak pintar di Ethereum, bahasa akan menjadi lebih aman untuk digunakan.

Membagikan Membagikan Menciak Surel Apakah Internet yang Benar-Benar Terdesentralisasi Mungkin? Bagaimana Ini Bisa Bekerja Dengan Blockchain

Apakah internet yang benar-benar terdesentralisasi mungkin? Apa yang dimaksud dengan desentralisasi, dan bagaimana hal itu akan membuat Anda tetap aman?

Baca Selanjutnya
Topik-topik yang berkaitan
  • Teknologi Dijelaskan
  • Pemrograman
  • Ethereum
  • Blockchain
Tentang Penulis Calvin Ebun-Amu(48 Artikel Diterbitkan)

Calvin adalah seorang penulis di MakeUseOf. Ketika dia tidak menonton Rick and Morty atau tim olahraga favoritnya, Calvin menulis tentang startup, blockchain, keamanan siber, dan bidang teknologi lainnya.

More From Calvin Ebun-Amu

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan