Kontrak Cerdas Ethereum - Bagaimana cara menjalankan Kontrak Cerdas?



Dalam tutorial Kontrak Cerdas Ethereum ini, Anda akan belajar cara Membuat, Menerapkan, dan Menjalankan Kontrak Cerdas menggunakan Truffle dan Jaringan Pribadi Ethereum.

Alasan utama Teknologi Blockchain untuk mendapatkan tempatnya di antara Teknologi Teratas adalah karena sifatnya yang Terdesentralisasi. Sementara tujuan utama Blockchain adalah untuk menyimpan catatan transaksi tanpa Otoritas Pusat, untuk mengotomatiskannya, Kontrak Cerdas diperkenalkan. Tapi apa setelahnya ? Dalam tutorial Kontrak Cerdas Ethereum ini, kita akan melihat cara menggunakannya Truffle Ethereum dan Jaringan Pribadi Ethereum untuk menjalankan Kontrak Cerdas.

Tertarik dengan Pengembangan Ethereum? Lihat Live ini .





Kita akan melihat topik-topik berikut dalam tutorial Kontrak Cerdas Ethereum ini:

  1. Kasus Penggunaan: Kontrak Cerdas dalam Proses Asuransi
  2. Manfaat Kontrak Cerdas
  3. Menginstal Prasyarat
  4. Konfigurasi Genesis Block
  5. Menjalankan Jaringan Pribadi Ethereum
  6. Membuat Akun Ethereum
  7. Membuat Kontrak Cerdas Ethereum
  8. Menjalankan Kontrak Cerdas Ethereum

Kasus Penggunaan: Kontrak Cerdas dalam Proses Asuransi

“No Central Authority” adalah yang diikuti oleh Blockchain dan itulah alasan Kontrak Cerdas diperkenalkan. Tapi pernahkah Anda bertanya-tanya bagaimana Smart Contract bisa digunakan? Nah, di bagian Kontrak Cerdas Ethereum ini, saya akan menjelaskan kasus penggunaan Kontrak Cerdas dalam proses Asuransi.



Mari kita pertimbangkan contoh asuransi Penundaan Penerbangan. Misalkan Anda ingin melakukan Penerbangan dari sumber A ke tujuan C tetapi tidak memiliki Penerbangan langsung. Jadi, Anda memutuskan untuk mengambil penerbangan lanjutan (melalui B). Sekarang, rute Anda adalah dari A ke B dan kemudian dari B ke C, di mana B adalah bandara Anda akan mengubah penerbangan. Sayangnya, Anda tidak memiliki banyak perbedaan waktu antara penerbangan dari A ke B dan dari B ke C.Jadi, jika kebetulan penerbangan dari A ke B tertunda maka Anda akan ketinggalan penerbangan dari B ke C.Anda menyadari hal ini dan hanya untuk menyelamatkan diri Anda dari kerugian besar, Anda mengambil Asuransi Penundaan Penerbangan.

Asuransi Keterlambatan Penerbangan - Edureka

Sekarang, jika penerbangan Anda dari A ke B tertunda (yang akan membuat Anda ketinggalan penerbangan dari B ke C), Anda akan dibayar sejumlah asuransi. Cara kerja yang normal adalah, jika penerbangan Anda tertunda, Anda mengklaim asuransi. Kemudian, seseorang di sana akan memverifikasi dan menyetujui asuransi dan akhirnya, Anda akan mendapatkan jumlah asuransi Anda. Tapi ini proses yang cukup panjang.



Bagaimana Anda dapat menggunakan Kontrak Cerdas untuk meningkatkan proses Asuransi?

Jika menyangkut transaksi keuangan, dan terutama saat Anda mendapatkan uang, 'semakin cepat, semakin baik', bukan? Jadi, mari kita lihat bagaimana Kontrak Cerdas dapat mempercepat proses asuransi. Kontrak Cerdas adalah kontrak digital yang dijalankan secara otomatis ketika kondisi tertentu terpenuhi. Kontrak Cerdas dapat ditulis untuk membayar jumlah asuransi kepada orang-orang yang telah memilih Asuransi Penundaan Penerbangan jika penerbangan ditunda. Jadi, ketika penerbangan mengalami keterlambatan dan keterlambatan ini dicatat oleh sistem, maka asuransi segera dibayarkan.

Halo! jumlah asuransi dibayarkan dalam beberapa detik. Ini adalah cara sederhana dan cepat Kontrak Cerdas membuat suatu proses terjadi.

Manfaat Kontrak Cerdas

Anda telah melihat pada contoh di atas bagaimana Kontrak Cerdas dapat mempercepat proses keuangan. Selain transaksi cepat, Kontrak Cerdas memiliki beberapa manfaat lainnya. Di sini, saya mencantumkan beberapa manfaat lain menggunakan Kontrak Cerdas:

  • Otomatis: Semua langkah dalam proses terjadi secara otomatis dengan Kontrak Cerdas
  • Tanpa perantara: Saat Anda menggunakan Kontrak Cerdas, Anda tidak memerlukan perantara untuk menyelesaikan pekerjaan karena semuanya akan ditangani oleh Kontrak Cerdas
  • Hemat Biaya: Menggunakan Kontrak Cerdas akan menghemat uang Anda untuk biaya transaksi yang dibebankan oleh bank dan biaya layanan oleh perantara (jika ada)

Sekarang, setelah kita mengetahui bagaimana Kontrak Cerdas dapat digunakan untuk membuat dunia menjadi tempat yang lebih cepat, mari kita langsung membahas tutorial Kontrak Cerdas Ethereum ini.

Menginstal Prasyarat

Untuk tutorial Kontrak Cerdas Ethereum ini, kami memerlukan 5 aplikasi penting:

  • NodeJS
  • NPM
  • Ethereum
  • Truffle
  • Penyusun Soliditas

Menginstal NodeJS

NodeJS adalah Framework JavaScript yang digunakan untuk membangun aplikasi server. Karena kami menggunakan jaringan pribadi, NodeJS akan memudahkan pembuatan aplikasi jaringan.

Untuk menginstal Nodejs, jalankan perintah berikut di terminal Anda:

$ sudo apt-get install nodejs

Menginstal NPM

NPM adalah singkatan dari Node Package Manager dan digunakan untuk menjalankan aplikasi Nodejs.

Untuk menginstal NPM, jalankan perintah berikut di terminal Anda:

$ sudo apt-get install npm

Menginstal Ethereum

Ethereum adalah open-source & berbasis blockchain publik, platform komputasi terdistribusi untuk membangun aplikasi terdesentralisasi.

Untuk menginstal Ethereum, jalankan perintah berikut di terminal Anda:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Memasang Truffle

Truffle adalah Lingkungan Pengembangan, Kerangka Kerja Pengujian, dan pipeline Aset untuk Ethereum Blokchains.

Untuk menginstal Truffle, jalankan perintah berikut di terminal Anda:

$ npm instal -g truffle

Memasang Solidity Compiler

Soliditas adalah bahasa pemrograman yang digunakan untuk menulis Kontrak Cerdas. Untuk menjalankan kontrak pintar di sistem kami, kami harus menginstal Solidity Compiler.

Untuk menginstal Solidity Compiler, jalankan perintah berikut di terminal Anda:

$ sudo npm install -g solc

Konfigurasi Genesis Block

Genesis Block adalah titik awal dari Blockchain dan kami membutuhkan file genesis untuk memulai Blockchain. Di bagian Kontrak Cerdas Ethereum ini, kita akan menulis file Genesis dan mengkonfigurasinya untuk memungkinkan kita menjalankan Kontrak Cerdas.

Pertama-tama, buat direktori baru, lalu di direktori itu kita akan membuat file genesis

$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

Sekarang, masukkan baris berikut di genesis.json mengajukan:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alok': {}, 'kesulitan': '200' 'gasLimit': '99999999999999'}

Simpan ini dan keluar.

Menjalankan Jaringan Pribadi Ethereum

Dalam tutorial Kontrak Cerdas Etheruem ini, kami akan menerapkan Kontrak Cerdas Ethereum di jaringan pribadi. Jadi, untuk memulai jaringan ini kita akan menggunakan perintah berikut:

$ geth --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'

Sebelum melangkah lebih jauh, izinkan saya menjelaskan beberapa flag penting yang digunakan dalam perintah di atas:

datadir: Direktori tempat menyimpan data yang terkait dengan Blockchain.

rpc: Mengaktifkan server HTTP-RPC.

dapatkan panjang array js

rpcport.dll dan rpcaddr digunakan untuk mengatur port dan alamat jaringan masing-masing.

rpcapi: Memungkinkan kami berinteraksi dengan jaringan Ethereum menggunakan API yang berbeda.

Menghubungkan Geth ke Ethereum Private Blockchain

Konsol Geth adalah konsol tempat kita dapat berinteraksi dengan Ethereum Private Blockchain. Untuk menghubungkan Geth ke Ethereum Private Blockchain, buka terminal baru dan jalankan perintah di bawah ini:

$ geth lampirkan http://127.0.0.1:8543

Sekarang, kita berada di konsol Geth tempat kita dapat menjalankan perintah untuk berinteraksi dengan Blockchain.

Membuat Akun Ethereum

Untuk melakukan transaksi apa pun, kami membutuhkan akun. Di bagian tutorial Kontrak Cerdas Ethereum ini, kita akan melihat cara membuat akun Ethereum baru dari konsol Geth.

Mengikuti langkah-langkah sejauh ini, kita sudah berada di konsol Geth. Untuk membuat akun baru, jalankan perintah berikut di konsol Geth:

> personal.newAccount ('seedphrase')

Ganti 'frasa benih”Dengan sandi yang ingin Anda setel untuk akun ini.

Kami telah membuat akun baru, tetapi akun ini tidak memiliki eter. Kita butuhethers untuk melakukan transaksi dan mendapatkan etherske akun kami, kami akan mulai menambang eter. Untuk mulai menambang, pertama-tama kita harus membuka kunci akun. Mari buka kunci akun dan mulai menambang.

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()

diff antara hashmap dan hashtable

Saat penambangan terus terjadi, beberapaeterakan disimpan ke akun ini.

Catatan : Eter ini eter tiruan dan tidak memiliki nilai dunia nyata.

Untuk memeriksa saldoeterdi akun kami akan menjalankan perintah berikut:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ether')

Ketika Anda menjalankan perintah ini secara berkala, Anda akan melihat bahwa fileetermeningkat karena penambangan.

Untuk menghentikan penambangan, jalankan perintah berikut:

> miner.stop ()

Membuat Kontrak Cerdas Ethereum

Membuat Proyek Truffle

Sekarang setelah kita memiliki semua Blockchain pribadi kita siap, kita akan melihat cara membuat Kontrak Cerdas Ethereum menggunakan Truffle. Untuk tutorial ini, kita akan membuat Kontrak Cerdas Ethereum “Hello World” sederhana.

Untuk memulai ini, pertama-tama mari kita buat direktori baru untuk menyimpan proyek Truffle. Dan kemudian di direktori itu, kami akan membuat proyek Truffle baru. Buka terminal baru dan jalankan perintah di bawah ini:

$ mkdir truffle $ cd truffle $ truffle init

Itu truffle init perintah akan membuat semua file yang diperlukan untuk proyek truffle.

Sekarang setelah kita memiliki segalanya untuk menerapkan Kontrak Cerdas Ethereum, mari kita mulai menulis Kontrak Cerdas “Halo Dunia”.

Menulis Kontrak Cerdas “Hello World”

Semua kontrak harus ditulis dalam direktori 'kontrak'. Kami akan beralih ke direktori ini dan membuat kontrak dengan nama 'HelloWorld.sol' dan menambahkan baris berikut di file ini:

pragma solidity ^ 0.4.15 kontrak HelloWorld {string fungsi pesan publik Hello () public {message = 'Hello World!' }}

Ini dia! Tetapi Kontrak Cerdas ini tidak dapat dijalankan dengan sendirinya. Kami harus membuat beberapa konfigurasi untuk itu.

Mengonfigurasi Migrasi Truffle

Untuk memigrasi Kontrak Cerdas kami, kami harus menambahkan file di 'Migrasi' direktori di 'Truffle' direktori. Di direktori ini kami akan menambahkan file bernama “2_deploy_contracts.js” dengan konten berikut di dalamnya:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = function (deployer) {deployer.deploy (HelloWorld)}

Simpan dan keluar.

Untuk menjalankan truffle di jaringan kami, kami perlu mengedit ' truffle.js 'Di file 'Truffle' direktori . Buka file ini dan buat entri berikut:

module.exports = {rpc: {host: 'localhost', port: 8543}, jaringan: {pengembangan: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

catatan: Ganti 'dari' alamat dengan alamat akun yang Anda buat di langkah sebelumnya.

Menjalankan Kontrak Cerdas Ethereum

Di bagian terakhir dari tutorial Kontrak Cerdas Ethereum ini, kita akan melihat cara menerapkan Kontrak Cerdas 'Hello World' di Jaringan Pribadi Ethereum.

Menyusun dan Menerapkan Kontrak Cerdas

Sebelum kami dapat menjalankan Kontrak Cerdas kami, kami harus terlebih dahulu mengkompilasi dan menerapkannya ke Jaringan Pribadi Ethereum kami. Kami akan melakukan ini menggunakan perintah berikut:

$ truffle kompilasi

Sekarang, kita harus membuka akun kita dan mulai menambang. Kembali ke terminal dengan konsol Geth dan jalankan perintah berikut:

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

dan kemudian, kembali ke terminal yang memiliki 'Truffle' sebagai direktori kerja saat ini danLariperintah berikut:

$ truffle bermigrasi

Tunggu hingga penerapan selesai.

Menjalankan Kontrak Cerdas di Private Ethereum Blockchain

Untuk menjalankan Kontrak Cerdas 'Hello World', kita harus masuk ke konsol truffle. Jalankan perintah berikut untuk melakukan ini:

konsol $ truffle

Anda sekarang akan berada di konsol truffle. Untuk menjalankan Kontrak Cerdas, jalankan perintah berikut:

> var first_contract> HelloWorld.deployed (). then (function (instance) {first_contract = instance})> dApp.message.call ()

Selamat! Anda telah membuat Kontrak Cerdas Ethereum pertama Anda dan menjalankannya. Saya harap tutorial Kontrak Cerdas Ethereum ini informatif dan membantu Anda memahami tentang cara menjalankan Kontrak Cerdas Ethereum. Sekarang, lanjutkan dan coba tulis Kontrak Cerdas lainnya dan jalankan.

Ada pertanyaan untuk kami? Silakan posting di dan kami akan menghubungi Anda kembali.

Jika Anda ingin mempelajari Blockchain dan membangun karier di Teknologi Blockchain, lihat kami yang dilengkapi dengan pelatihan langsung yang dipimpin instruktur dan pengalaman proyek kehidupan nyata. Pelatihan ini akan membantu Anda memahami apa itu Blockchain secara menyeluruh dan membantu Anda mencapai penguasaan atas subjek tersebut.