이더 리움 사설 네트워크 – 나만의 이더 리움 블록 체인을 만드세요!



이 이더 리움 사설 네트워크 튜토리얼에서는 자신 만의 이더 리움 블록 체인을 생성하는 방법과 두 계정간에 트랜잭션을 만드는 방법을 배웁니다.

이전에 Truffle Ethereum 자습서 , Truffle Suite에 대해 배우고 이더 리움 DApp. 복잡한 이더 리움 애플리케이션을 개발하려면 사설 네트워크에서 실행하여 배포하기 전에 작동 방식을 확인해야합니다. 따라서이 Ethereum 사설 네트워크 자습서에서는 사설 이더 리움 네트워크 두 계정 간의 거래 방법.

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





이더 리움 사설망 튜토리얼

다음은이 튜토리얼에서 다룰 주제입니다.

이더 리움 사설망이란 무엇입니까?

이더 리움 프라이빗 네트워크는 메인 이더 리움 네트워크와 격리 된 완전한 프라이빗 블록 체인입니다. Ethereum Private Network는 주로 블록 체인의 읽기 권한을 제한하기 위해 조직에서 생성합니다. 올바른 권한을 가진 노드 만이 블록 체인에 액세스 할 수 있습니다. 이 네트워크의 노드는 기본 네트워크 노드에 연결되어 있지 않으며 도달 범위는이 프라이빗 블록 체인으로 만 제한됩니다.



사설 및 공용 -Ethereum 사설 네트워크 튜토리얼-Edureka

Ethereum Private Network가 사용되는 이유는 무엇입니까?

Ethereum Private Network는 조직 외부의 사람들이 볼 수없는 개인 데이터를 저장하는 데 사용됩니다. Ethereum Private Network는 누군가 공개 테스트 네트워크를 사용하고 싶지 않은 경우 블록 체인을 테스트하고 실험하는데도 사용됩니다.

이더 리움 사설망의 특징

이전 섹션에서 언급했듯이 Ethereum Private Network는 테스트 목적으로 사용됩니다. 그러나 이미 사용 가능한 공개 테스트 네트워크가 있는데 왜 누군가가 새 네트워크를 만드는 데 어려움을 겪을까요? 글쎄, Ethereum Private Network에는 아래와 같은 자체 기능 세트가 있습니다.



  • 분산 데이터베이스 역할을합니다.
  • Ethereum 사설 네트워크의 블록 체인은 개인 데이터를 포함 할 수 있습니다 (네트워크가 공개되지 않기 때문에).
  • 액세스는 권한 기반 일 수 있습니다.
  • 거래는 무료 일 수 있습니다.
  • 이더로 계정을 할당 할 수 있습니다.가상 이더를 구매할 필요조차없는 스스로

계속해서이 Ethereum 사설 네트워크 자습서의 실습 부분을 살펴 보겠습니다.

Ubuntu에 Ethereum 설치

이더 리움 사설망을 만들려면 먼저 시스템에 이더 리움을 설치해야합니다. 이더 리움 사설 네트워크 튜토리얼의이 섹션에서는 우분투에 이더 리움을 설치하는 방법을 배웁니다.

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

끝난! 그러면 시스템에 이더 리움이 설치됩니다.

사설 네트워크 생성부터 시작하겠습니다.

데모 : 이더 리움 사설망 생성 및 거래

이 이더 리움 사설 네트워크 튜토리얼에서 우리는 이더를 보낼 것입니다한 계정에서 다른 계정으로 그래서 우리는 계정이 필요합니다. 이제 블록 체인에 대한 계정을 만드는 방법을 살펴 보겠습니다.

이더 리움 사설 네트워크 용 계정 생성

새 계정을 만들기 전에 직장을위한 새 디렉터리를 만들겠습니다. 이를 수행하려면 아래 명령을 참조하십시오.

$ mkdir private-ethereum $ cd private-ethereum

거래를하기 위해서는 최소한 두 개의 계정이 필요합니다 : 수신자와 발신자.

두 개의 계정을 만들려면 다음 명령을 두 번 실행합니다.

$ geth --datadir ./datadir 계정 신규

들어가다 암호 요청하면 각 계정에 대해. 이 암호를 잊지 마세요!

이 명령이 성공적으로 실행되면 두 개의 계정이 생성되고 계정 주소가 화면에 표시됩니다.

C ++의 정적 멤버 함수

이 주소는 추가로 사용할 것이므로 어딘가에 저장하십시오.

Genesis 파일 생성

Genesis 파일에는 블록 체인을 정의하는 속성이 포함되어 있습니다. Genesis 파일은 블록 체인의 시작점이므로 블록 체인을 생성하려면 Genesis 파일을 생성해야합니다. 이제 창세기를 만들어 보겠습니다파일.

먼저 genesis.json

$ nano genesis.json

이제 해당 파일에 다음 코드를 복사하여 붙여 넣습니다.

{ 'config': { 'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'difficulty': '400', 'gasLimit': ' 2000000 ','alloc ': {'82c440bba462220c9b54600e584373014706c177 ': {'balance ':'100000000000000000000000 '},'9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {'balance ':'120000000000000000000000 '}}}

노트 : 위의 코드에서 아래의 주소를 바꿉니다. 할당 섹션을 이전 단계에서 생성 한 계정의 주소로 표시합니다.

저장하고 종료하십시오.

Genesis 파일의 내용을 간략하게 설명하겠습니다.

chainId – 블록 체인을 구분하는 데 사용되는 체인 식별 번호입니다.
homesteadBlock, eip155Block, eip158Block, byzantiumBlock – 이러한 속성은 체인 포크 및 버전 관리와 관련이 있습니다. 자습서에는이 항목이 필요하지 않으므로 0으로 설정하겠습니다.
어려움 –이 숫자는 블록 채굴이 얼마나 어려운지를 결정합니다. 사설 네트워크의 경우 블록을 빠르게 채굴 할 수 있으므로 빠른 트랜잭션이 가능하므로 더 낮은 숫자를 설정하는 것이 좋습니다.
gasLimit –이 숫자는 각 블록에서 사용할 수있는 총 가스량입니다. 네트워크가 한도에 도달하는 것을 원하지 않으므로이 값을 높게 설정했습니다.
할당 –이 부분은 이미 생성 된 계정에 이더를 할당하는 데 사용됩니다.

Genesis 파일이 준비되었습니다. 이제 블록 체인을 시작할 때입니다.

데이터 디렉토리 인스턴스화

블록 체인을 시작하기 전에 데이터 디렉터리를 인스턴스화해야합니다. 데이터 디렉터리는 블록 체인과 관련된 데이터가 저장되는 디렉터리입니다. 데이터 디렉토리를 인스턴스화하려면 다음 명령을 실행하십시오.

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

인스턴스화에 성공하면 다음 출력이 표시되어야합니다.

데이터 디렉토리가 인스턴스화되었으므로 이제 블록 체인을 시작할 수 있습니다.

이더 리움 프라이빗 블록 체인 시작

블록 체인을 시작하려면 다음 명령을 실행하십시오.

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

끝난! 개인 이더 리움 블록 체인이 실행 중입니다.

위의 명령에서 우리는 모든 로그를 Eth.log . Geth는 새 파일이 없으면 자동으로 생성합니다.

이 코드의 출력은 다음과 같아야합니다.

이제 우리는 게스 콘솔 블록 체인에 대한 명령을 실행할 수 있습니다.

로그 읽기

이전 섹션에서 로그를 다른 파일에 저장한다고 언급했습니다. 이 섹션에서는이 파일에서 로그를 읽는 방법에 대해 설명합니다.

별도의 터미널에서 로그를 읽을 것이므로 먼저 새 터미널을 열어 보겠습니다. 먼저,로 전환 개인 이더 리움 디렉토리를 찾은 후 다음 명령을 실행하여 로그를 읽으십시오.

$ tail -f Eth.log

이제 터미널에서 로그를 볼 수 있습니다. 이러한 로그는 블록 체인에 활동이있을 때마다 동적으로 업데이트됩니다.

사설 네트워크로 계정 가져 오기

거래를 위해 두 개의 계정을 만들었다는 사실을 기억하실 것입니다. 하지만 이러한 계정을 네트워크에 추가하지 않았습니다. 따라서 이더 리움 사설망 튜토리얼의이 섹션에서는 계정을 가져 오는 방법을 알려 드리겠습니다.

계정을 만들 때 계정의 모든 세부 정보는 UTC 파일 계정 생성 중에 언급 된 디렉토리 (경로 : ./datadir/keystore ). 계정을 가져 오려면 이러한 파일을 복사하여 키 저장소 데이터 디렉토리 아래의 디렉토리(통로: ./myDataDir/keystore )

그게 다야! 계정을 가져옵니다. 간단하지 않습니까? 가져 오기를 확인하기 위해 다음 명령을 실행합니다. 게스 콘솔.

> eth.accounts

사용 가능한 모든 계정 목록이 표시됩니다.

이러한 계정의 잔액을 확인하기 위해 다음 명령을 사용합니다.

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

거래에 필요한 모든 준비가되어 있습니다. 왜 기다려? 해보자!

거래하기

이 이더 리움 사설 네트워크 튜토리얼에서 우리는 이더를 보낼 것입니다.한 계정에서 다른 계정으로.

ethers를 보내는 구문은 다음과 같습니다.

talend etl 도구 자습서 pdf
> eth.sendTransaction ({from :”address”, to :”address”, value : web3.toWei (amount, 'ether')})

다음 명령을 사용하여 계정 1에서 계정 2로 1000 개의 에테르를 보냅니다.

> eth.sendTransaction ({from : eth.accounts [0], to : eth.accounts [1], 값 : web3.toWei (1000, 'ether')})

작동하지 않았나요? 걱정하지 마세요. 나에게도 효과가 없었습니다. 이는 계정이 기본적으로 잠겨 있고 거래를 허용하지 않기 때문입니다.

따라서 먼저 보낸 사람 계정을 잠금 해제해야합니다. 계정을 만들 때 사용한 암호를 기억하십니까? 글쎄요, 당신은 계정을 잠금 해제하기 위해 그것을 사용해야 할 것이기 때문입니다. 다음 명령으로 계정을 잠금 해제합니다.

personal.unlockAccount (eth.accounts [0], '')

이제 우리는 에테르를 보낼 것입니다성공적으로 :

> eth.sendTransaction ({from : eth.accounts [0], to : eth.accounts [1], 값 : web3.toWei (1000, 'ether')})

거래 ID를 반환해야합니다.

끝난! 거래를 성공적으로 완료했습니다!

거래를 확인하기 위해 두 계정의 잔액을 확인하겠습니다.

> web3.fromWei (eth.getBalance ( '0x82c440bba462220c9b54600e584373014706c177'), 'ether')
> web3.fromWei (eth.getBalance ( '0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ether')

예이! 1000 개의 에테르가한 계정에서 다른 계정으로 전송되었습니다!

축하합니다! 이더 리움 사설망을 생성하고 거래를했습니다. 이 Ethereum Private Network 튜토리얼이 유익하고 Ethereum Private Network에 대해 이해하는 데 도움이 되었기를 바랍니다. 이제 새로 생성 된 사설 네트워크를 사용해보십시오.

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

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