Ethereum Smart Contract - Bagaimana melaksanakan Kontrak Pintar?



Di dalam tutorial Kontrak Pintar Ethereum ini, anda akan belajar bagaimana Membuat, Menggunakan dan Melaksanakan Kontrak Pintar menggunakan Truffle dan Ethereum Private Network.

Sebab utama Teknologi Blockchain mendapat tempat di antara Teknologi Teratas adalah kerana sifatnya yang Terdesentralisasi. Walaupun tujuan utama Blockchain adalah untuk mengekalkan rekod transaksi tanpa Pihak Berkuasa Pusat, untuk mengotomatisasi ini, Kontrak Pintar diperkenalkan. Tetapi bagaimana selepasnya ? Dalam tutorial Kontrak Pintar Ethereum ini, kita akan melihat cara penggunaannya Truffle Ethereum dan Rangkaian Peribadi Ethereum untuk melaksanakan Kontrak Pintar.

Berminat dengan Pembangunan Ethereum? Lihat Siaran Langsung ini .





Kami akan melihat topik berikut dalam tutorial Kontrak Pintar Ethereum ini:

  1. Kes Penggunaan: Kontrak Pintar dalam Proses Insurans
  2. Faedah Kontrak Pintar
  3. Memasang Pra-Syarat
  4. Mengkonfigurasi Genesis Block
  5. Menjalankan Rangkaian Peribadi Ethereum
  6. Membuat Akaun Ethereum
  7. Membuat Kontrak Pintar Ethereum
  8. Melaksanakan Kontrak Pintar Ethereum

Kes Penggunaan: Kontrak Pintar dalam Proses Insurans

'No Central Authority' adalah apa yang diikuti oleh Blockchain dan itulah sebabnya Smart Contracts diperkenalkan. Tetapi pernahkah anda terfikir bagaimana Kontrak Pintar boleh digunakan? Baiklah, dalam bahagian Kontrak Pintar Ethereum ini, saya akan menerangkan kes penggunaan Kontrak Pintar dalam proses Insurans.



Mari kita pertimbangkan contoh insurans Penerbangan Kelewatan. Katakan anda ingin mengambil Penerbangan dari sumber A ke destinasi C tetapi anda tidak mempunyai Penerbangan langsung. Jadi, anda memutuskan untuk mengambil penerbangan bersambung (melalui B). Sekarang, laluan anda akan dari A ke B dan kemudian dari B ke C, di mana B adalah lapangan terbang yang akan anda ubah penerbangannya. Malangnya, anda tidak mempunyai banyak masa antara penerbangan dari A ke B dan dari B ke C. Oleh itu, jika kebetulan, penerbangan dari A ke B ditangguhkan maka anda akan terlepas penerbangan dari B ke C. Anda sedar ini dan hanya untuk menyelamatkan diri dari kerugian besar, anda mengambil Insurans Penangguhan Penerbangan.

Insurans Kelewatan Penerbangan - Edureka

Sekarang, jika penerbangan anda dari A ke B ditunda (yang akan membuatkan anda terlepas dari penerbangan dari B ke C), anda akan dibayar jumlah insurans. Cara biasa ini berfungsi adalah, jika penerbangan anda ditangguhkan, anda menuntut insurans. Kemudian, beberapa orang di sana akan mengesahkan dan meluluskan insurans dan akhirnya, anda akan mendapat jumlah insurans anda. Tetapi ini adalah proses yang cukup panjang.



Bagaimana anda boleh menggunakan Kontrak Pintar untuk meningkatkan proses Insurans?

Berkaitan dengan urus niaga kewangan, dan terutama ketika anda mendapat wang, 'semakin cepat, lebih baik', bukan? Oleh itu, mari kita lihat bagaimana Kontrak Pintar dapat mempercepat proses insurans. Kontrak Pintar adalah kontrak digital yang secara automatik dilaksanakan apabila syarat tertentu dipenuhi. Kontrak Pintar boleh ditulis untuk membayar jumlah insurans kepada orang yang telah memilih Insurans Kelewatan Penerbangan sekiranya penerbangan ditangguhkan. Oleh itu, apabila penerbangan ditangguhkan dan kelewatan ini dicatat oleh sistem, insurans akan dibayar dengan segera.

cara menggunakan fungsi split dalam python

Hola! jumlah insurans dibayar dalam beberapa saat. Ini adalah bagaimana Kontrak Pintar yang mudah dan pantas menjadikan proses berlaku.

Faedah Kontrak Pintar

Anda telah melihat dalam contoh di atas bagaimana Kontrak Pintar dapat mempercepat proses kewangan. Selain daripada transaksi pantas, Smart Kontrak mempunyai beberapa kelebihan. Di sini, saya menyenaraikan beberapa faedah lain dari menggunakan Kontrak Pintar:

  • Automatik: Semua langkah dalam proses berlaku secara automatik dengan Kontrak Pintar
  • Tiada perantaraan: Apabila anda menggunakan Kontrak Pintar, anda tidak memerlukan perantaraan untuk menyelesaikan tugas kerana semuanya akan dikendalikan oleh Kontrak Pintar
  • Berkesan dari segi kos: Menggunakan Kontrak Pintar akan menjimatkan wang anda untuk kos transaksi yang dikenakan oleh bank dan caj bayaran perkhidmatan oleh perantaraan (jika ada)

Sekarang, kita tahu bagaimana Kontrak Pintar dapat digunakan untuk menjadikan dunia menjadi tempat yang lebih cepat, mari kita bahas mengenai tutorial Kontrak Pintar Ethereum ini.

Memasang Pra-Syarat

Untuk tutorial Ethereum Smart Contract ini, kami memerlukan 5 aplikasi penting:

  • NodeJS
  • NPM
  • Ethereum
  • Truffle
  • Penyusun Ketahanan

Memasang NodeJS

NodeJS adalah Kerangka JavaScript yang digunakan untuk membina aplikasi pelayan. Oleh kerana kami menggunakan rangkaian peribadi, NodeJS akan memudahkan untuk membuat aplikasi rangkaian.

Untuk memasang Nodejs, jalankan arahan berikut di terminal anda:

$ sudo apt-get install nodejs

Memasang NPM

NPM bermaksud Node Package Manager dan digunakan untuk menjalankan aplikasi Nodejs.

Untuk memasang NPM, jalankan perintah berikut di terminal anda:

$ sudo apt-get install npm

Memasang Ethereum

Ethereum adalah platform pengkomputeran diedarkan berasaskan sumber terbuka & awam, untuk membina aplikasi yang terdesentralisasi.

Untuk memasang Ethereum, jalankan arahan berikut di terminal anda:

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

Memasang Truffle

Truffle adalah Persekitaran Pembangunan, Kerangka Pengujian dan saluran paip Aset untuk Ethereum Blokchains.

Untuk memasang Truffle, jalankan perintah berikut di terminal anda:

$ npm install -g truffle

Memasang Penyusun Kelembapan

Solidity adalah bahasa pengaturcaraan yang digunakan untuk menulis Kontrak Pintar. Untuk menjalankan kontrak pintar pada sistem kami, kami mesti memasang Solidity Compiler.

Untuk memasang Solidity Compiler, jalankan arahan berikut di terminal anda:

$ sudo npm install -g solc

Mengkonfigurasi Genesis Block

Genesis Block adalah titik permulaan Blockchain dan kami memerlukan fail genesis untuk memulakan Blockchain. Di bahagian Kontrak Pintar Ethereum ini, kami akan menulis fail Genesis dan mengkonfigurasinya untuk membolehkan kami menjalankan Kontrak Pintar.

Mari pertama-tama buat direktori baru dan kemudian di direktori itu kita akan membuat fail genesis

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

Sekarang, masukkan baris berikut di genesis.json fail:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'mengalokasikan': {}, 'kesukaran': '200' 'gasLimit': '99999999999999'}

Simpan ini dan keluar.

Menjalankan Rangkaian Peribadi Ethereum

Dalam tutorial Etheruem Smart Contract ini, kami akan menggunakan Ethereum Smart Contract di rangkaian peribadi. Oleh itu, untuk memulakan rangkaian ini, kami akan menggunakan arahan 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 menerangkan beberapa bendera penting yang digunakan dalam arahan di atas:

datadir: Direktori tempat data yang berkaitan dengan Blockchain disimpan.

rpc: Membolehkan pelayan HTTP-RPC.

rpcport dan rpcaddr digunakan untuk menetapkan port dan alamat rangkaian masing-masing.

rpcapi: Membolehkan kita berinteraksi dengan rangkaian Ethereum menggunakan API yang berbeza.

Menyambungkan Geth ke Ethereum Private Blockchain

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

$ geth lampirkan http://127.0.0.1:8543

Sekarang, kita berada di konsol Geth di mana kita boleh menjalankan perintah untuk berinteraksi dengan Blockchain.

Membuat Akaun Ethereum

Untuk membuat sebarang transaksi, kami memerlukan akaun. Di bahagian tutorial Kontrak Pintar Ethereum ini, kita akan melihat bagaimana membuat akaun Ethereum baru dari konsol Geth.

Mengikuti langkah sejauh ini, kita sudah berada di konsol Geth. Untuk membuat akaun baru, jalankan arahan berikut di konsol Geth:

> personal.newAccount ('seedphrase')

Gantikan “frasa biji'Dengan kata laluan yang ingin anda tetapkan untuk akaun ini.

Kami telah membuat akaun baru, tetapi akaun ini tidak mempunyai eter. Kita perluethers untuk membuat sebarang transaksi dan mendapatkan etherske akaun kami, kami akan memulakan penambangan eter. Untuk memulakan perlombongan, kita perlu membuka kunci akaun terlebih dahulu. Mari buka kunci akaun dan mulakan penambangan.

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

Ketika perlombongan terus berlaku, beberapaeterakan dimasukkan ke akaun ini.

Catatan : Ether ini adalah eter dummy dan tidak mempunyai nilai dunia nyata.

Untuk memeriksa bakieterdalam akaun kami akan menjalankan arahan berikut:

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

Apabila anda menjalankan perintah ini secara berkala, anda akan melihat bahawaetersemakin meningkat kerana perlombongan.

Untuk menghentikan perlombongan, jalankan arahan berikut:

> miner.stop ()

Membuat Kontrak Pintar Ethereum

Membuat Projek Truffle

Sekarang kita telah menyediakan Blockchain peribadi kita, kita akan melihat bagaimana membuat Kontrak Pintar Ethereum menggunakan Truffle. Untuk tutorial ini, kami akan membuat Kontrak Pintar Ethereum 'Hello World' yang ringkas.

Sebagai permulaan, mari kita buat direktori baru untuk menyimpan projek Truffle. Dan kemudian di direktori itu, kami akan membuat projek Truffle baru. Buka terminal baru dan jalankan arahan berikut:

$ mkdir truffle $ cd truffle $ truffle init

The truffle init arahan akan membuat semua fail yang diperlukan untuk projek truffle.

Sekarang kita mempunyai segalanya untuk menerapkan Kontrak Pintar Ethereum, mari kita menulis Kontrak Pintar 'Hello World'.

Menulis Kontrak Pintar 'Hello World'

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

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

Inilah dia! Tetapi Kontrak Pintar ini tidak dapat dilaksanakan dengan sendirinya. Kita mesti membuat beberapa konfigurasi untuknya.

Mengkonfigurasi Migrasi Truffle

Untuk memindahkan Kontrak Pintar kami, kami perlu menambahkan fail di 'Penghijrahan' direktori di 'Truffle' direktori. Dalam direktori ini kami akan menambah fail bernama “2_deploy_contracts.js” dengan kandungan berikut di dalamnya:

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

Simpan dan keluar.

Untuk menjalankan truffle di rangkaian kami, kami perlu mengedit ' truffle.js 'Fail di 'Truffle' direktori . Buka fail ini dan buat entri berikut:

module.exports = {rpc: {host: 'localhost', port: 8543}, network: {development: {host: 'localhost', port: 8543, network_id: '*', dari: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Catatan: Gantikan 'Dari' alamat dengan alamat akaun yang anda buat pada langkah sebelumnya.

Melaksanakan Kontrak Pintar Ethereum

Dalam bahagian terakhir tutorial Kontrak Pintar Ethereum ini, kita akan melihat bagaimana menggunakan Kontrak Pintar 'Hello World' di Rangkaian Peribadi Ethereum kami.

program carian binari di java

Menyusun dan Menggunakan Kontrak Pintar

Sebelum kita dapat melaksanakan Kontrak Pintar kita, kita harus terlebih dahulu menyusun dan menyebarkannya ke Rangkaian Peribadi Ethereum kita. Kami akan melakukan ini menggunakan arahan berikut:

$ menyusun truffle

Sekarang, kita mesti membuka kunci akaun dan memulakan perlombongan. Kembali ke terminal dengan konsol Geth dan jalankan arahan berikut:

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

dan kemudian, kembali ke terminal yang mempunyai 'Truffle' sebagai direktori kerja sekarang danlariarahan berikut:

$ truffle berhijrah

Tunggu penyebaran selesai.

Melaksanakan Kontrak Pintar pada Blockchain Ethereum Swasta

Untuk melaksanakan Kontrak Pintar 'Hello World', kita harus memasuki truffle console. Jalankan arahan berikut untuk melakukan ini:

$ truffle konsol

Anda sekarang akan berada di truffle console. Untuk melaksanakan Kontrak Pintar, jalankan arahan berikut:

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

Tahniah! Anda telah membuat Kontrak Pintar Ethereum pertama anda dan melaksanakannya. Saya harap tutorial Kontrak Pintar Ethereum ini dapat memberi maklumat dan membantu anda memahami cara melaksanakan Kontrak Pintar Ethereum. Sekarang, teruskan dan cuba menulis Kontrak Pintar yang lain dan melaksanakannya.

Ada soalan untuk kami? Sila hantar di dan kami akan menghubungi anda.

Sekiranya anda ingin belajar Blockchain dan membina karier di Blockchain Technologies, maka periksa kami yang dilengkapi dengan latihan langsung yang dipimpin oleh instruktur dan pengalaman projek kehidupan sebenar. Latihan ini akan membantu anda memahami apa itu Blockchain secara menyeluruh dan membantu anda mencapai penguasaan terhadap subjek ini.