Solidity - Rian010/Journal GitHub Wiki

Solidity adalah bahasa pemrograman statis yang dirancang khusus untuk digunakan pada platform blockchain Ethereum. Bahasa ini memiliki sintaks yang mirip dengan bahasa pemrograman lain seperti C++ dan JavaScript.

Introductions

Apa Itu Solidity?

Solidity adalah bahasa pemrograman high-level yang dirancang khusus untuk digunakan pada platform blockchain Ethereum. Bahasa ini dikembangkan oleh Ethereum Foundation dan digunakan untuk memprogram Smart Contract pada Ethereum Virtual Machine (EVM).

Fitur Utama Solidity

Berikut ini adalah beberapa fitur utama dari Solidity:

Statik Typed

Solidity adalah bahasa pemrograman static typed, artinya variabel harus memiliki tipe data yang ditentukan sebelum digunakan. Fitur ini membantu mendeteksi error pada tahap compile time.

Memberi Support Pada Object Oriented Programming (OOP)

Solidity menyediakan support pada object oriented programming (OOP), artinya programmer dapat membuat class dan objek seperti pada bahasa pemrograman lain seperti Java dan C++.

Support Multi Inheritances

Solidity menyediakan fitur multi inheritances, artinya suatu contract dapat mewarisi method dan property dari beberapa contract lain.

Memilki Layanan Gas Metering

Solidity memiliki layanan gas metering, artinya system akan menghitung biaya transaksi pada saat kompilasi contract. Biaya tersebut akan dikeluarkan oleh user ketika melakukan transaksi.

Membersihkan Memory Secara Otomatis

Solidity akan membersihkan memory secara otomatis setelah function dieksekusi, sehingga meminimumkan risiko memory leak.

Instalasi Solidity

Untuk menginstall Solidity, Anda dapat menggunakan package manager npm dengan command berikut:

npm install --global solc

Setelah instalasi selesai, Anda dapat memverifikasi versi Solidity dengan command berikut:

solc --version

Hasil output akan menunjukkan versi Solidity yang telah terinstal.

Belajar Solidity

Untuk mulai belajar Solidity, Anda dapat memulai dari basic syntax dan structure dari bahasa pemrograman ini. Beberapa resource yang dapat Anda gunakan antara lain:

Documentation Solidity

Anda dapat membaca dokumentasi resmi Solidity pada link berikut: https://soliditylang.org/

Solidity Tutorial by FreeCodeCamp

FreeCodeCamp menyediakan tutorial singkat mengenai Solidity pada link berikut: https://www.freecodecamp.org/news/learn-solidity-by-building-a-blockchain-hello-world-contract-9efcf78bb5bc/

CryptoZombies

CryptoZombies adalah game educative yang berfokus pada pembelajaran Solidity. Game ini menawarkan tutorial step-by-step dalam membuat game blockchain menggunakan Solidity. Anda dapat mengakses game ini pada link berikut: https://cryptozombies.io/

Contoh Code Solidity

Di bawah ini adalah contoh code Solidity sederhana yang membuat kontrak Hello World:

pragma solidity ^0.8.0;

contract HelloWorld {
    string public message;
    
    constructor() public {
        message = 'Hello World';
    }
}

Code di atas membuat kontrak HelloWorld dengan variable message yang memiliki value 'Hello World'. Kontrak ini dapat di deploy pada Ethereum network dan dapat diinteraksi dengan mengirim transaksi kepada address kontrak tersebut.

Penutup

Solidity adalah bahasa pemrograman yang populer dan potensial pada era blockchain. Selain itu, Solidity menyediakan banyak fitur yang mempermudah programmer dalam memprogram Smart Contract pada Ethereum. Namun, seperti bahasa pemrograman lain, Solidity juga memiliki kurva belajar yang memerlukan waktu dan dedikasi. Selamat belajar Solidity!