이더 리움 스마트 계약 – 스마트 계약을 실행하는 방법?

이 Ethereum 스마트 계약 자습서에서는 Truffle 및 Ethereum 사설 네트워크를 사용하여 스마트 계약을 생성, 배포 및 실행하는 방법을 배웁니다.

블록 체인 기술이 최고의 기술 중 하나가되는 주된 이유는 분산 된 특성 때문입니다. Blockchain의 주요 목적은 중앙 기관없이 거래 기록을 유지하는 것이었지만이를 자동화하기 위해 스마트 계약 소개되었습니다. 하지만 그 후 ? 이 이더 리움 스마트 계약 튜토리얼에서는 트러플 이더 리움이더 리움 사설망 스마트 계약을 실행합니다.

이더 리움 개발에 관심이 있으십니까? 이 라이브 확인 .





이 Ethereum 스마트 계약 튜토리얼에서 다음 주제를 살펴볼 것입니다.

  1. 사용 사례 : 보험 프로세스의 스마트 계약
  2. 스마트 계약의 이점
  3. 필수 구성 요소 설치
  4. 제네시스 블록 설정
  5. 이더 리움 사설망 실행
  6. 이더 리움 계정 생성
  7. 이더 리움 스마트 계약 생성
  8. 이더 리움 스마트 계약 실행

사용 사례 : 보험 프로세스의 스마트 계약

'중앙 권한 없음'은 블록 체인이 따르는 것이며 이것이 스마트 계약이 도입 된 이유입니다. 하지만 스마트 계약을 어떻게 사용할 수 있는지 궁금한 적이 있습니까? 이더 리움 스마트 계약의이 섹션에서는 보험 프로세스에서 스마트 계약의 사용 사례를 설명하겠습니다.



비행 지연 보험의 예를 살펴 보겠습니다. 출발지 A에서 목적지 C까지 항공편을 이용하고 싶지만 직항 항공편이 없다고 가정 해 보겠습니다. 그래서 연결 비행 (B를 통해)을 선택합니다. 이제 경로는 A에서 B로, B에서 C로, 여기서 B는 항공편을 변경할 공항입니다. 안타깝게도 A에서 B로, B에서 C 로의 비행 사이에 시간차가 많지 않습니다. 혹시라도 A에서 B 로의 비행이 지연되면 B에서 C 로의 비행을 놓치게됩니다. 이것을 깨닫고 무거운 손실로부터 자신을 구하기 위해 비행 지연 보험에 가입하십시오.

비행 지연 보험-Edureka

이제 A에서 B 로의 항공편이 지연되면 (B에서 C 로의 항공편을 놓치게 됨) 보험 금액이 지급됩니다. 이것이 작동하는 일반적인 방법은 항공편이 지연되면 보험을 청구하는 것입니다. 그런 다음 거기에있는 누군가가 보험을 확인하고 승인하고 마지막으로 보험 금액을 받게됩니다. 그러나 이것은 상당히 긴 과정입니다.



스마트 계약을 사용하여 보험 프로세스를 개선하려면 어떻게해야합니까?

금융 거래에 관해서, 특히 돈을 벌 때 '빠를수록 좋다'그렇지 않습니까? 이제 스마트 컨트랙트가 어떻게 보험 프로세스를 단축 할 수 있는지 살펴 보겠습니다. 스마트 계약은 특정 조건이 충족되면 자동으로 실행되는 디지털 계약입니다. 항공편 지연시 항공편 지연 보험을 선택한 사람들에게 보험 금액을 지불하기 위해 스마트 계약을 작성할 수 있습니다. 따라서 항공편이 지연되고이 지연이 시스템에 기록되면 보험금이 즉시 지급됩니다.

안녕! 몇 초 안에 지불 된 보험 금액. 이것이 바로 스마트 계약이 프로세스를 만드는 방법입니다.

스마트 계약의 이점

위의 예에서 스마트 컨트랙트가 재무 프로세스를 강화하는 방법을 확인했습니다. 빠른 거래 외에도 스마트 계약에는 더 많은 이점이 있습니다. 여기에 스마트 계약 사용의 몇 가지 다른 이점을 나열합니다.

  • 자동적 인: 진행중인 모든 단계는 스마트 계약을 통해 자동으로 이루어집니다.
  • 중간체 없음 : 스마트 계약을 사용할 때 모든 것이 스마트 계약에 의해 처리되므로 작업을 완료하기 위해 중개자가 필요하지 않습니다.
  • 비용 효과적 : 스마트 계약을 사용하면 은행에서 부과하는 거래 수수료와 중개자가 부과하는 서비스 수수료 (있는 경우)를 절약 할 수 있습니다.

이제 스마트 계약을 사용하여 세상을 더 빠른 곳으로 만드는 방법을 알았으니이 이더 리움 스마트 계약 자습서의 실습 부분을 살펴 보겠습니다.

필수 구성 요소 설치

이 이더 리움 스마트 계약 튜토리얼에서는 5 가지 중요한 애플리케이션이 필요합니다.

  • NodeJS
  • NPM
  • 이더 리움
  • 트뤼플
  • 솔리 디티 컴파일러

NodeJS 설치

NodeJS는 서버 애플리케이션을 빌드하는 데 사용되는 JavaScript 프레임 워크입니다. 사설 네트워크를 사용하고 있으므로 NodeJS를 사용하면 네트워크 애플리케이션을 쉽게 구축 할 수 있습니다.

Nodejs를 설치하려면 터미널에서 다음 명령을 실행하십시오.

$ sudo apt-get install nodejs

NPM 설치

NPM은 Node Package Manager의 약자로 Nodejs 애플리케이션을 실행하는 데 사용됩니다.

NPM을 설치하려면 터미널에서 다음 명령을 실행하십시오.

$ sudo apt-get npm 설치

이더 리움 설치

이더 리움 분산 형 애플리케이션을 구축하기위한 오픈 소스 및 퍼블릭 블록 체인 기반의 분산 컴퓨팅 플랫폼입니다.

Ethereum을 설치하려면 터미널에서 다음 명령을 실행하십시오.

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

Truffle 설치

Truffle은 이더 리움 블록 체인을위한 개발 환경, 테스트 프레임 워크 및 자산 파이프 라인입니다.

Truffle을 설치하려면 터미널에서 다음 명령을 실행하십시오.

$ npm install -g 트러플

Solidity 컴파일러 설치

Solidity는 스마트 계약을 작성하는 데 사용되는 프로그래밍 언어입니다. 시스템에서 스마트 계약을 실행하려면 Solidity Compiler를 설치해야합니다.

Solidity Compiler를 설치하려면 터미널에서 다음 명령을 실행하십시오.

$ sudo npm install -g solc

제네시스 블록 설정

제네시스 블록은 블록 체인의 시작점이며 블록 체인을 시작하려면 제네시스 파일이 필요합니다. 이더 리움 스마트 계약의이 섹션에서는 Genesis 파일을 작성하고 스마트 계약을 실행할 수 있도록 구성합니다.

먼저 새 디렉토리를 만든 다음 해당 디렉토리에서 제네시스 파일

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

이제 다음 줄을 genesis.json 파일:

{ 'config': { 'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, '난이도': '200' 'gasLimit': '99999999999999'}

이것을 저장하고 종료하십시오.

이더 리움 사설망 실행

이 Etheruem 스마트 계약 튜토리얼에서는 사설 네트워크에 이더 리움 스마트 계약을 배포합니다. 따라서이 네트워크를 시작하려면 다음 명령을 사용합니다.

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

계속 진행하기 전에 위의 명령에서 사용 된 몇 가지 중요한 플래그를 설명하겠습니다.

datadir : 블록 체인 관련 데이터가 저장되는 디렉터리입니다.

rpc : HTTP-RPC 서버를 활성화합니다.

rpcportrpcaddr 네트워크의 포트와 주소를 각각 설정하는 데 사용됩니다.

rpcapi : 다양한 API를 사용하여 Ethereum 네트워크와 상호 작용할 수 있습니다.

Geth를 이더 리움 프라이빗 블록 체인에 연결

Geth 콘솔은 Ethereum Private Blockchain과 상호 작용할 수있는 콘솔입니다. Geth를 Ethereum Private Blockchain에 연결하려면 새 터미널을 열고 아래 명령을 실행하십시오.

$ geth 첨부 http://127.0.0.1:8543

자바에서 분할 방법을 사용하는 방법

이제 우리는 블록 체인과 상호 작용하는 명령을 실행할 수있는 Geth 콘솔에 있습니다.

이더 리움 계정 생성

거래를하려면 계정이 필요합니다. 이더 리움 스마트 계약 튜토리얼의이 섹션에서는 Geth 콘솔에서 새 이더 리움 계정을 만드는 방법을 볼 것입니다.

지금까지의 단계를 따르면 이미 Geth 콘솔에 있습니다. 새 계정을 만들려면 Geth 콘솔에서 다음 명령을 실행하십시오.

> personal.newAccount ( 'seedphrase')

교체 '시드 문구”를이 계정에 설정할 비밀번호로 입력하십시오.

새 계정을 만들었지 만이 계정에는 에테르가 없습니다.. 우리는 필요합니다거래를하고 에테르를 얻기위한 에테르우리 계정에, 우리는 이더 채굴을 시작할 것입니다. 채굴을 시작하려면 먼저 계정을 잠금 해제해야합니다. 계정을 잠금 해제하고 채굴을 시작합시다.

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

채굴이 계속 진행됨에 따라 일부에테르이 계좌에 입금됩니다.

노트 :이 에테르는 더미 에테르 실제 가치가 없습니다.

잔액을 확인하려면에테르계정에서 다음 명령을 실행합니다.

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

이 명령을 정기적으로 실행하면에테르채굴로 인해 증가하고 있습니다.

마이닝을 중지하려면 다음 명령을 실행하십시오.

> miner.stop ()

이더 리움 스마트 계약 생성

Truffle 프로젝트 만들기

이제 개인 블록 체인이 모두 준비되었으므로 Truffle을 사용하여 이더 리움 스마트 계약을 생성하는 방법을 살펴 보겠습니다. 이 튜토리얼에서는 간단한“Hello World”이더 리움 스마트 계약을 생성합니다.

이를 시작하기 위해 먼저 Truffle 프로젝트를 저장할 새 디렉토리를 만듭니다. 그리고 그 디렉토리에서 새로운 Truffle 프로젝트를 만들 것입니다. 새 터미널을 열고 아래 명령을 실행하십시오.

$ mkdir 트러플 $ cd 트러플 $ 트러플 init

그만큼 트러플 초기화 명령은 트러플 프로젝트에 필요한 모든 파일을 생성합니다.

이제 이더 리움 스마트 계약을 배포하기위한 모든 것이 준비되었으므로 'Hello World'스마트 계약을 작성해 보겠습니다.

'Hello World'스마트 계약 작성

모든 계약서는 'contracts'디렉토리에 작성되어야합니다. 이 디렉터리로 전환하여 'HelloWorld.sol'이라는 이름으로 계약을 만들고이 파일에 다음 줄을 추가합니다.

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

이거 야! 그러나이 스마트 계약은 단독으로 실행할 수 없습니다. 이를 위해 몇 가지 구성을 만들어야합니다.

Truffle 마이그레이션 구성

스마트 계약을 마이그레이션하려면 다음 위치에 파일을 추가해야합니다. '마이그레이션' 디렉토리의 '트뤼플' 예배 규칙서. 이 디렉토리에 다음과 같은 파일을 추가합니다. “2_deploy_contracts.js” 다음 내용이 포함되어 있습니다.

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

저장 및 종료.

네트워크에서 트러플을 실행하려면 ' truffle.js ”파일을 '트뤼플' 예배 규칙서 . 이 파일을 열고 다음 항목을 작성하십시오.

module.exports = {rpc : {host : 'localhost', port : 8543}, 네트워크 : {개발 : {host : 'localhost', 포트 : 8543, network_id : '*', from : '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas : 20000000}}}

노트 : 교체 '에서' 이전 단계에서 생성 한 계정의 주소로 주소를 입력합니다.

이더 리움 스마트 계약 실행

이더 리움 스마트 컨트랙트 튜토리얼의 마지막 섹션에서는 이더 리움 사설 네트워크에 'Hello World'스마트 컨트랙트를 배포하는 방법을 볼 것입니다.

스마트 계약 컴파일 및 배포

스마트 계약을 실행하기 전에 먼저이를 컴파일하여 이더 리움 사설 네트워크에 배포해야합니다. 다음 명령을 사용하여이 작업을 수행합니다.

$ 트러플 컴파일

이제 우리는 계정을 잠금 해제하고 채굴을 시작해야합니다. Geth 콘솔을 사용하여 터미널로 돌아가 다음 명령을 실행합니다.

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

그런 다음 '트뤼플' 현재 작업 디렉토리로운영다음 명령 :

$ 트러플 마이그레이션

배포가 완료 될 때까지 기다립니다.

프라이빗 이더 리움 블록 체인에서 스마트 계약 실행

'Hello World'스마트 계약을 실행하려면 트러플 콘솔에 들어가야합니다. 이를 수행하려면 다음 명령을 실행하십시오.

$ 트러플 콘솔

이제 트러플 콘솔에있게됩니다. 스마트 계약을 실행하려면 다음 명령을 실행하십시오.

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

축하합니다! 첫 번째 이더 리움 스마트 계약을 생성하고 실행했습니다. 이 이더 리움 스마트 계약 튜토리얼이 유익하고 이더 리움 스마트 계약을 실행하는 방법을 이해하는 데 도움이 되었기를 바랍니다. 이제 다른 스마트 계약을 작성하고 실행 해보십시오.

질문이 있으십니까? 그것을 게시하십시오 다시 연락 드리겠습니다.

Blockchain을 배우고 Blockchain Technologies에서 경력을 쌓으려면 다음을 확인하십시오. 강사 주도의 라이브 교육 및 실제 프로젝트 경험과 함께 제공됩니다. 이 교육은 블록 체인이 무엇인지 철저하게 이해하고 주제에 대한 숙달을 달성하는 데 도움이됩니다.