Hợp đồng thông minh Ethereum - Làm thế nào để thực hiện Hợp đồng thông minh?



Trong hướng dẫn Hợp đồng Thông minh Ethereum này, bạn sẽ học cách Tạo, Triển khai và Thực thi Hợp đồng Thông minh bằng Truffle và Ethereum Private Network.

Lý do chính để Công nghệ Blockchain có được vị trí trong số các Công nghệ hàng đầu là do bản chất Phi tập trung của nó. Mặc dù mục đích chính của Blockchain là duy trì hồ sơ giao dịch mà không cần Cơ quan Trung ương, để tự động hóa việc này, Hợp đồng thông minh đã được giới thiệu. Nhưng sau đó thì sao ? Trong hướng dẫn Hợp đồng thông minh Ethereum này, chúng ta sẽ xem cách sử dụng Truffle EthereumMạng riêng Ethereum để thực hiện Hợp đồng thông minh.

Bạn quan tâm đến Phát triển Ethereum? Xem Trực tiếp này .





Chúng ta sẽ xem xét các chủ đề sau trong hướng dẫn Hợp đồng thông minh Ethereum này:

  1. Trường hợp sử dụng: Hợp đồng thông minh trong quy trình bảo hiểm
  2. Lợi ích của Hợp đồng thông minh
  3. Cài đặt điều kiện tiên quyết
  4. Cấu hình Khối Genesis
  5. Chạy Mạng riêng Ethereum
  6. Tạo tài khoản Ethereum
  7. Tạo hợp đồng thông minh Ethereum
  8. Thực thi Hợp đồng thông minh Ethereum

Trường hợp sử dụng: Hợp đồng thông minh trong quy trình bảo hiểm

“Không có cơ quan trung ương” là những gì Blockchain tuân theo và đó là lý do Hợp đồng thông minh được giới thiệu. Nhưng bạn đã bao giờ tự hỏi làm thế nào để sử dụng Hợp đồng thông minh? Vâng, trong phần này của Hợp đồng thông minh Ethereum, tôi sẽ giải thích một trường hợp sử dụng của Hợp đồng thông minh trong quy trình Bảo hiểm.



Hãy xem xét một ví dụ về bảo hiểm Trễ chuyến bay. Giả sử bạn muốn đi Chuyến bay từ nguồn A đến điểm đến C nhưng bạn không có Chuyến bay thẳng. Vì vậy, bạn quyết định thực hiện một chuyến bay nối chuyến (qua B). Bây giờ, lộ trình của bạn sẽ từ A đến B và sau đó từ B đến C, trong đó B là sân bay bạn sẽ thay đổi các chuyến bay. Thật không may, bạn không có nhiều khoảng cách thời gian giữa các chuyến bay từ A đến B và từ B đến C. Vì vậy, nếu có bất kỳ cơ hội nào, chuyến bay từ A đến B bị hoãn thì bạn sẽ bỏ lỡ chuyến bay từ B đến C. Bạn nhận ra điều này và chỉ để cứu mình khỏi tổn thất nặng nề, bạn mua Bảo hiểm Chậm trễ Chuyến bay.

Bảo hiểm Chậm trễ Chuyến bay - Edureka

Bây giờ, nếu chuyến bay của bạn từ A đến B bị hoãn (sẽ khiến bạn bị lỡ chuyến bay từ B đến C), bạn sẽ được thanh toán số tiền bảo hiểm. Cách thức hoạt động bình thường là, nếu chuyến bay của bạn bị hoãn, bạn sẽ yêu cầu bảo hiểm. Sau đó, một số người ở đó sẽ xác minh và phê duyệt bảo hiểm và cuối cùng, bạn sẽ nhận được số tiền bảo hiểm của mình. Nhưng đây là một quá trình khá dài.



Bạn có thể sử dụng Hợp đồng thông minh để cải thiện quy trình Bảo hiểm như thế nào?

Khi nói đến các giao dịch tài chính, và đặc biệt là khi bạn đang kiếm tiền, “càng nhanh, càng tốt”, phải không? Vì vậy, hãy xem cách Hợp đồng thông minh có thể đẩy nhanh quá trình bảo hiểm. Hợp đồng thông minh là các hợp đồng kỹ thuật số được tự động thực hiện khi đáp ứng các điều kiện nhất định. Hợp đồng Thông minh có thể được viết ra để thanh toán số tiền bảo hiểm cho những người đã chọn Bảo hiểm Chậm trễ Chuyến bay nếu chuyến bay bị hoãn. Vì vậy, khi chuyến bay bị hoãn và sự chậm trễ này được hệ thống ghi nhận, bảo hiểm sẽ được thanh toán ngay lập tức.

Hola! số tiền bảo hiểm được thanh toán trong vài giây. Đây là cách các Hợp đồng thông minh đơn giản và nhanh chóng tạo ra một quy trình.

Lợi ích của Hợp đồng thông minh

Bạn đã thấy trong ví dụ trên về cách Hợp đồng thông minh có thể đẩy nhanh các quy trình tài chính. Ngoài các giao dịch nhanh chóng, Hợp đồng thông minh có một số lợi ích khác. Ở đây, tôi liệt kê một số lợi ích khác của việc sử dụng Hợp đồng thông minh:

  • Tự động: Tất cả các bước trong quy trình diễn ra tự động với Hợp đồng thông minh
  • Không có chất trung gian: Khi sử dụng Hợp đồng thông minh, bạn không cần người trung gian để hoàn thành công việc vì mọi thứ sẽ do Hợp đồng thông minh xử lý
  • Hiệu quả về chi phí: Sử dụng Hợp đồng thông minh sẽ giúp bạn tiết kiệm tiền từ phí giao dịch do ngân hàng tính và phí dịch vụ của các đơn vị trung gian (nếu có)

Bây giờ, chúng ta đã biết cách Hợp đồng thông minh có thể được sử dụng để biến thế giới thành một nơi nhanh hơn, hãy cùng bắt tay vào hướng dẫn Hợp đồng thông minh Ethereum này.

đống và ngăn xếp bộ nhớ trong java

Cài đặt điều kiện tiên quyết

Đối với hướng dẫn Hợp đồng thông minh Ethereum này, chúng tôi sẽ yêu cầu 5 ứng dụng quan trọng:

  • NodeJS
  • NPM
  • Ethereum
  • Truffle
  • Trình biên dịch Solidity

Cài đặt NodeJS

NodeJS là một JavaScript Framework được sử dụng để xây dựng các ứng dụng máy chủ. Vì chúng ta đang sử dụng mạng riêng, NodeJS sẽ giúp bạn dễ dàng xây dựng ứng dụng mạng.

Để cài đặt Nodejs, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:

$ sudo apt-get install nodejs

Cài đặt NPM

NPM là viết tắt của Node Package Manager và được sử dụng để chạy các ứng dụng Nodejs.

Để cài đặt NPM, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:

$ sudo apt-get install npm

Cài đặt Ethereum

Ethereum là một nền tảng điện toán phân tán dựa trên mã nguồn mở & công cộng để xây dựng các ứng dụng phi tập trung.

Để cài đặt Ethereum, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:

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

Cài đặt Truffle

Truffle là một môi trường phát triển, khung thử nghiệm và đường dẫn tài sản cho Ethereum Blokchains.

Để cài đặt Truffle, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:

$ npm install -g truffle

Cài đặt trình biên dịch Solidity

Solidity là một ngôn ngữ lập trình được sử dụng để viết Hợp đồng thông minh. Để chạy các hợp đồng thông minh trên hệ thống của chúng tôi, chúng tôi phải cài đặt Solidity Compiler.

Để cài đặt Trình biên dịch Solidity, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:

$ sudo npm install -g solc

Cấu hình Khối Genesis

Genesis Block là điểm khởi đầu của một Blockchain và chúng ta cần một tệp genesis để bắt đầu Blockchain. Trong phần này của Hợp đồng thông minh Ethereum, chúng tôi sẽ viết tệp Genesis và định cấu hình nó để cho phép chúng tôi chạy Hợp đồng thông minh.

Đầu tiên chúng ta hãy tạo một thư mục mới và sau đó trong thư mục đó, chúng ta sẽ tạo tập tin nguồn gốc

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

Bây giờ, hãy nhập các dòng sau vào genesis.json tập tin:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'phân bổ': {}, 'khó khăn': '200' 'gasLimit': '99999999999999'}

Lưu cái này và thoát.

Chạy Mạng riêng Ethereum

Trong hướng dẫn Hợp đồng thông minh Etheruem này, chúng tôi sẽ triển khai Hợp đồng thông minh Ethereum trên một mạng riêng. Vì vậy, để bắt đầu mạng này, chúng ta sẽ sử dụng lệnh sau:

$ 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'

Trước khi đi sâu hơn, hãy để tôi giải thích một số cờ quan trọng được sử dụng trong lệnh trên:

datadir: Thư mục lưu trữ dữ liệu liên quan đến Blockchain.

rpc: Bật máy chủ HTTP-RPC.

rpcportrpcaddr được sử dụng để đặt cổng và địa chỉ của mạng tương ứng.

rpcapi: Cho phép chúng tôi tương tác với mạng Ethereum bằng các API khác nhau.

Kết nối Geth với Ethereum Private Blockchain

Geth console là bảng điều khiển mà từ đó chúng ta có thể tương tác với Ethereum Private Blockchain. Để kết nối Geth với Ethereum Private Blockchain, hãy mở một thiết bị đầu cuối mới và chạy lệnh dưới đây:

$ geth đính kèm http://127.0.0.1:8543

Bây giờ, chúng ta đang ở trong bảng điều khiển Geth, nơi chúng ta có thể chạy các lệnh để tương tác với Blockchain.

Tạo tài khoản Ethereum

Để thực hiện bất kỳ giao dịch nào, chúng tôi cần có tài khoản. Trong phần này của hướng dẫn Hợp đồng thông minh Ethereum, chúng ta sẽ xem cách tạo tài khoản Ethereum mới từ bảng điều khiển Geth.

token java là gì

Làm theo các bước cho đến nay, chúng ta đã ở trong bảng điều khiển Geth. Để tạo một tài khoản mới, hãy chạy lệnh sau trong bảng điều khiển Geth:

> Personal.newAccount ('seedphrase')

Thay thế cái 'cụm từ hạt giống”Với mật khẩu bạn muốn đặt cho tài khoản này.

Chúng tôi đã tạo một tài khoản mới, nhưng tài khoản này không có tài khoản khác. Chúng tôi cầnete để thực hiện bất kỳ giao dịch nào và nhận etevào tài khoản của chúng tôi, chúng tôi sẽ bắt đầu khai thác ete. Để bắt đầu khai thác, trước tiên chúng ta cần mở khóa tài khoản. Hãy mở khóa tài khoản và bắt đầu khai thác.

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

Khi việc khai thác tiếp tục diễn ra, một sốetesẽ được gửi vào tài khoản này.

Ghi chú : Những ete này là ete giả và không có giá trị trong thế giới thực.

Để kiểm tra số dưetetrong tài khoản, chúng tôi sẽ chạy lệnh sau:

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

Khi bạn chạy lệnh này đều đặn, bạn sẽ thấy rằngeteđang tăng lên do khai thác.

sử dụng không gian tên c ++

Để dừng khai thác, hãy chạy lệnh sau:

> miner.stop ()

Tạo hợp đồng thông minh Ethereum

Tạo dự án Truffle

Bây giờ chúng ta đã có tất cả các Blockchain riêng của mình, chúng ta sẽ xem cách tạo Hợp đồng thông minh Ethereum bằng Truffle. Đối với hướng dẫn này, chúng tôi sẽ tạo một Hợp đồng thông minh Ethereum “Xin chào thế giới” đơn giản.

Để bắt đầu, trước tiên chúng ta hãy tạo một thư mục mới để lưu trữ dự án Truffle. Và sau đó trong thư mục đó, chúng ta sẽ tạo một dự án Truffle mới. Mở một thiết bị đầu cuối mới và chạy các lệnh dưới đây:

$ mkdir truffle $ cd truffle $ truffle init

Các truffle init lệnh sẽ tạo tất cả các tệp cần thiết cần thiết cho một dự án truffle.

Bây giờ chúng tôi đã có mọi thứ để triển khai Hợp đồng thông minh Ethereum, hãy bắt tay vào viết Hợp đồng thông minh “Hello World”.

Viết hợp đồng thông minh “Hello World”

Tất cả các hợp đồng phải được viết trong thư mục 'hợp đồng'. Chúng tôi sẽ chuyển sang thư mục này và tạo một hợp đồng với tên “HelloWorld.sol” và thêm các dòng sau vào tệp này:

pragma solidity ^ 0.4.15 hợp đồng HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

Đây chính là nó! Nhưng Hợp đồng thông minh này không thể được thực hiện bởi chính nó. Chúng tôi sẽ phải thực hiện một số cấu hình cho nó.

Định cấu hình Truffle Migration

Để di chuyển Hợp đồng thông minh của chúng tôi, chúng tôi sẽ phải thêm một tệp trong 'Di cư' thư mục trong 'Truffle' danh mục. Trong thư mục này, chúng tôi sẽ thêm một tệp có tên “2_deploy_contracts.js” với các nội dung sau trong đó:

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

Lưu và thoát.

Để chạy truffle trên mạng của chúng tôi, chúng tôi cần chỉnh sửa “ truffle.js ”Trong tệp 'Truffle' danh mục . Mở tệp này và thực hiện các mục sau:

module.exports = {rpc: {host: 'localhost', port: 8543}, mạng: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Ghi chú: Thay thế cái 'từ' địa chỉ với địa chỉ của tài khoản bạn đã tạo ở bước trước.

Thực thi Hợp đồng thông minh Ethereum

Trong phần cuối cùng của hướng dẫn Hợp đồng thông minh Ethereum này, chúng ta sẽ xem cách triển khai Hợp đồng thông minh “Hello World” trên Mạng riêng Ethereum của chúng tôi.

Biên dịch và Triển khai Hợp đồng Thông minh

Trước khi chúng tôi có thể thực hiện Hợp đồng thông minh của mình, trước tiên chúng tôi phải biên dịch và triển khai nó vào Mạng riêng Ethereum của chúng tôi. Chúng tôi sẽ thực hiện việc này bằng các lệnh sau:

biên dịch $ truffle

Bây giờ, chúng tôi phải mở khóa tài khoản của mình và bắt đầu khai thác. Quay lại terminal với Geth console và chạy lệnh sau:

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

và sau đó, quay lại thiết bị đầu cuối có 'Truffle' là thư mục làm việc hiện tại vàchạylệnh sau:

$ truffle di cư

Chờ cho việc triển khai được hoàn thành.

Thực thi Hợp đồng thông minh trên Blockchain Ethereum riêng tư

Để thực hiện Hợp đồng thông minh “Hello World”, chúng ta sẽ phải truy cập vào bảng điều khiển truffle. Chạy lệnh sau để thực hiện việc này:

bảng điều khiển $ truffle

Bây giờ bạn sẽ ở trong bảng điều khiển truffle. Để thực hiện Hợp đồng thông minh, hãy chạy lệnh sau:

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

Xin chúc mừng! Bạn đã tạo Hợp đồng thông minh Ethereum đầu tiên của mình và thực hiện nó. Tôi hy vọng hướng dẫn Hợp đồng thông minh Ethereum này có nhiều thông tin và giúp bạn hiểu về cách thực hiện Hợp đồng thông minh Ethereum. Bây giờ, hãy tiếp tục và thử viết các Hợp đồng thông minh khác và thực hiện nó.

Có một câu hỏi cho chúng tôi? Hãy đăng nó trên và chúng tôi sẽ liên hệ lại với bạn.

Nếu bạn muốn tìm hiểu về Blockchain và xây dựng sự nghiệp trong Công nghệ Blockchain, hãy xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu Blockchain là gì một cách toàn diện và giúp bạn thành thạo về chủ đề này.