블록 체인 앱을 구축하는 방법

블록 체인 앱을 구축하는 방법을 배울 수있는 가이드를 찾고 있습니까? 다음은 처음부터 블록 체인 앱을 구축하는 데 도움이되는 가이드입니다..

이 기사에서는 블록 체인 앱을 구축 할 것입니다. 최근에 우리는 블록 체인을 구축하는 방법을 다루었습니다. Python 프로그래밍 언어로 블록 체인을 구축하는 데 대한 완전한 가이드였습니다. 튜토리얼의 주요 초점은 블록 체인 기술과 내부 작동에 대해 배우는 것입니다..

그러나이 튜토리얼은 블록 체인을 사용하여 앱을 빌드하는 방법에 관한 것입니다. 탈 중앙화 앱 (dApp)은 블록 체인 속성을 활용할 수 있습니다..

이더 리움을 사용하여 간단한 블록 체인 앱을 만들 것입니다. 이더 리움은 스마트 계약, 지분 증명 및 가장 중요한 분산 앱 (dApps) 생성 기능과 같은 고급 기능을 제공하는 2 세대 블록 체인 기술입니다..

이제 “블록 체인 앱을 빌드하는 방법”자습서를 시작하겠습니다. 이 튜토리얼은 간단한 블록 체인 앱을 구축하려는 사람들을 대상으로합니다. 간단한 블록 체인 앱을 구축하기 위해 이더 리움 네트워크를 사용할 것입니다..

하지만 시작하기 전에 기본 사항을 올바르게 설정하겠습니다..

지금 등록: 엔터프라이즈 블록 체인 기초 과정

dApp이란??

블록 체인 앱 튜토리얼을 구축하는 첫 번째 단계는 분산 애플리케이션 (dApp)의 개념을 배우는 것입니다..

dApp은 분산 애플리케이션을 의미합니다. 자율적으로 작동하는 기능을 포함하여 주요 특성을 제공하는 다른 유형의 앱입니다. 또한 앱은 데이터를 암호화하여 저장하므로 권한없는 엔티티가 적절한 권한없이 액세스 할 수 없습니다..

이러한 모든 특성으로 인해 분산 된 앱은 현재 엔터프라이즈 환경에서 매우 유용합니다. 앱은 앱에서 제공하는 기능을 활용하는 데 사용할 수있는 토큰을 사용할 수도 있습니다. 또한 앱은 토큰을 배포하여 dApp을 작동시키는 데 참여하는 노드를 인센티브화할 수도 있습니다..

플랫폼 선택 – 우리가 이더 리움 플랫폼을 선택하는 이유

현재 dApp을 구축하기 위해 선택할 수있는 많은 플랫폼이 있습니다. 여기에는 Ethereum, Hyperledger Fabric 및 Cardano와 같은 인기있는 블록 체인 플랫폼이 포함됩니다. 이 모든 것 중에서 Ethereum은 온라인에서 사용할 수있는 활발한 커뮤니티, 도구 및 자습서로 인해 최고의 선택 인 것 같습니다..

Ethereum을 선택하는 또 다른 이유는 Solidity를 사용하기 때문입니다. Solidity는 디앱과 스마트 계약을 배포하고 생성하기 위해 명시 적으로 만들어졌습니다. 배우기 쉽고 실험 할 수있는 유연성을 제공합니다..


분산 형 블록 체인 앱 구축을위한 실용 가이드

코드에 대해 자세히 알아보기 전에 블록 체인 앱을 빌드하는 과정을 설명하는 단계를 나열하고 싶습니다. 아래에서 살펴 보겠습니다..

아이디어 찾기

첫 번째 단계는 작업 할 아이디어를 찾는 것입니다. 탈 중앙화는 많은 사용 사례를 가질 수있는 멋진 새로운 개념입니다. 학습자 또는 엔지니어는 자신이나 회사에 도움이 될 수있는 유용한 아이디어를 생각해 내야합니다. 또한 풍경을 바꾸는 아이디어가 나오지 않더라도 걱정하지 마십시오. 학습과 실습을 위해 간단한 dApp을 구축하는 것은 괜찮습니다..

블록 체인에서 직면 한 문제를 검색하고 최선을 다해 해결하려고 할 수도 있습니다. 여기서 요점은 고통 지점에서 문제를보고 해결하려고하는 것입니다..

비즈니스 또는 비즈니스 요구 사항에 따라 dApp을 구축하려는 경우 적절한 비용 / 이익 분석을 수행해야합니다. 또한 프로젝트와 관련된 위험을 탐색하고 비즈니스 팀이 실사를 통해 앱을 관리 할 수 ​​있는지 확인해야합니다..

어떤 상황에서도 나중에 후회할 성급한 결정을 내리지 마십시오. 블록 체인 개발은 비용이 많이 들기 때문이며, 특히 개발 및 관리 할 인재를 찾는 데있어 더욱 그렇습니다. 게다가 블록 체인에서 작업하는 개발자가 부족합니다. 간단히 말해, 블록 체인 또는 블록 체인 앱 개발과 관련하여 적절한 조치를 취해야합니다..

다음은 새로운 분산 형 애플리케이션을 만드는 메커니즘을 이해할 수있는 dApp 개발 가이드입니다..

합의 방법 선택

모든 분산 형 앱이 작동하려면 적절한 합의 알고리즘이 필요합니다. 거래의 유효성을 확인하고 사기가 발생하지 않도록합니다. 개발자 또는 학습자는 지분 증명, 위임 지분 증명, 비잔틴 내결함성 등 사용 가능한 합의 방법 중에서 선택해야합니다! 선택은 친숙 함과 앱 요구 사항에 따라 달라집니다..

플랫폼 선택

여기에서 원하는 플랫폼을 선택해야합니다. 분명히 우리는 이미 위의 요점을 다뤘습니다. 주로 Ethereum, Hyperledger Fabric 및 Cardano를 포함하여 선택할 수있는 세 가지 플랫폼이 있습니다..

이를 위해 사용할 수있는 많은 엔터프라이즈 블록 체인 프레임 워크가 있지만 우리는 이더 리움과 함께 갈 것입니다.

관리 콘솔 및 사용자 인터페이스

앱에는 적절한 사용자 경험이 있어야합니다. 그렇기 때문에 좋은 사용자 인터페이스로 블록 체인 앱을 만들어야합니다. 앱에는 관리 콘솔도 있어야 문제없이 관리 할 수 ​​있습니다..

블록 체인 원칙 이해

개발자가 기본 개념과 원칙을 이해하지 않고 블록 체인 앱 개발 튜토리얼을 시작하는 것이 일반적입니다. 그렇기 때문에 앱 개발 튜토리얼을 시작하기 전에 블록 체인 기본 사항을 전적으로 권장합니다. 블록 체인 도구, 플랫폼 및 암호 화폐를 포함한 생태계에 대해 읽어 볼 수도 있습니다..

연습 및 개발

가능한 한 기술을 연습하십시오. 이를 통해 앞으로 더 복잡한 앱을 개발할 수있는 기술을 얻을 수 있습니다..

블록 체인 앱을 구축하는 방법? 쉬운 접근

예, 올바르게 읽었습니다. 이 섹션에서는 간단한 5 단계로 간단한 블록 체인 앱을 만드는 데 중점을 둡니다. 블록 체인 앱을 만든 적이 없다면 다음 5 단계를 통해 프로세스를 더 잘 이해할 수 있습니다..

5 단계는 다음과 같습니다..

  • 종속성 및 복제 저장소 설치.
  • Ganache CLI 실행
  • 계약 작성
  • 계약 배포
  • 계약 상호 작용

그리고 그게 다야. 게시물 자체에서 더 자세한 단계를 찾을 수 있습니다. 블록 체인상의 간단한 투표 앱입니다.

블록 체인 앱을 구축하는 방법? 어려운 접근

좋구나! 날 잡았어! 쉬운 방법을 원하지 않지만 어려운 방법으로 블록 체인을 배우고 싶습니다. 이 섹션에서는 Ethereum 스마트 계약을 사용하여 할 일 목록 앱을 만들 것이므로 걱정하지 마십시오..

블록 체인 애플리케이션 작동

블록 체인 앱을 만드는 데 깊이 들어가기 전에 먼저 블록 체인 애플리케이션이 어떻게 작동하는지 이해해 보겠습니다..

이를 이해하기 위해 간단한 앱의 작동 방식을 살펴 보겠습니다. 인터넷에서 작동하는 모든 앱은 브라우저 또는 Windows의 전용 앱을 사용하여 사용자의 컴퓨터에서 렌더링됩니다. 어떤 경우 든 서버에 페이지 또는 정보를 요청한 다음 사용자의 컴퓨터에 렌더링됩니다..

웹 애플리케이션의 경우 모든 것이 중앙 집중화됩니다. 이것은 몇 가지 이점을 제공합니다. 그러나 보안과 관련하여 많은 것이 필요합니다. 블록 체인 앱은 완전히 다르게 작동합니다. 앱에 저장된 코드와 데이터를 포함하여 모든 것이 분산되어 있습니다..

스마트 계약

여기서 핵심은 스마트 계약입니다. 스마트 계약은 앱 자체를 용이하게합니다. 여기에는 앱을 작동시키는 모든 코드가 포함되어 있습니다. 또한 프로세스를 자동화하고 의도 한대로 작동하는지 확인합니다. 이 튜토리얼에서는 스마트 계약을 사용하여 할 일 목록의 다양한 기능을 작성합니다..

스마트 계약은 Solidity 프로그래밍 언어를 사용합니다. JavaScript와 비슷합니다. 스마트 계약이 작성되면 코드는 변경 불가능하고 변경 불가능 해집니다. 배포하는 동안 코드를 자유롭게 변경할 수 있습니다. 그러나 앱이 배포되면 코드를 변경할 수 없습니다. 이는 블록 체인 앱에 신뢰성과 보안을 제공하기 위해 수행됩니다. 이 접근 방식은 스마트 계약을 배포하기 전에 각별히주의하고 모든 테스트를 수행해야 함을 의미합니다. 또한 스마트 계약 코드는 사실상 공개되어 있습니다..

Python을 사용하여 블록 체인을 구축하는 방법을 배우고 싶으십니까? 따라 할 수있는 Python으로 블록 체인을 구축하는 방법에 대한 자습서는 다음과 같습니다..

블록 체인 할일 목록 앱 만들기

개념을 확실히 이해하려면 먼저 Todo 블록 체인 앱이 어떻게 작동하는지 배워야합니다. 우리는 이더 리움을 사용하여 앱을 만들 것입니다. 우리의 앱은 단일 이더 리움 노드를 사용하고 클라이언트 측 애플리케이션도 포함합니다. Solidity를 사용하여 스마트 계약을 작성한 다음 배포 할 것입니다..

개발자는 쉽게 만들 수있는 이더 리움 지갑을 사용해야합니다..

준비 – 환경 생성

로컬 환경을 만들려면 여러 도구와 패키지가 필요합니다. 하나씩 살펴 보자.

가나슈

가나슈 이더 리움 개발 도구입니다. 이를 통해 애플리케이션, 스마트 계약 및 테스트를 관리, 배포 및 개발할 수 있습니다. 튜토리얼을 위해 Windows 버전을 실행할 것입니다. 다른 운영 체제를 사용하는 경우 Mac 또는 Linux 버전을 다운로드 할 수도 있습니다. 일단 설치되면 명령 줄 도구를 통해 사용할 수 있습니다..

Node.js

Node.js는 설치해야 할 다음 도구입니다. 머신에서 프라이빗 블록 체인을 실행하려면 다음을 설치해야합니다. 노드 패키지 관리자.

설치가 끝나면 터미널을 열고 아래 명령을 입력하십시오. 실행되면 갈 수 있습니다..

$ node -v

MetaMask 이더 리움 지갑

이더 리움 블록 체인에서 작업 할 예정이므로 브라우저에서 작동 할 수있는 지갑이 필요합니다.. 메타 마스크 Ethereum 블록 체인과 상호 작용할 수있는 웹 브라우저 지갑입니다..

트러플 프레임 워크

마지막으로 설치할 소프트웨어는 트러플 프레임 워크. 디앱에서 효과적으로 작업 할 수있는 다양한 도구를 제공합니다. Solidity 프로그래밍 언어를 사용하여 이더 리움 스마트 계약을 개발할 수 있습니다..

Truffle Framework의 주요 기능 중 일부는 다음과 같습니다.

  • 적절한 스마트 계약 관리
  • 네트워킹 관리
  • 자동화 된 테스트
  • 개발 콘솔
  • 스크립트 러너
  • 배포 및 마이그레이션
  • 클라이언트 측 개발.

설치하려면 다음을 사용해야합니다. npm 명령. 명령 줄에서 다음 명령을 실행하기 만하면됩니다..

$ npm install -g [email protected]

설치가 완료되는 데 시간이 걸립니다. 또한 튜토리얼을 따르려면 정확한 버전을 설치해야합니다..

전문가 블록 체인 전문가가되고 싶습니까? 우리의 등록 지금 인증 된 엔터프라이즈 블록 체인 전문 과정!

프로젝트 설정

멋있는! 이제 개발 환경을 사용할 준비가되었습니다. 이제 우리가해야 할 일은 프로젝트를 만드는 것입니다. 그렇게하려면 프로젝트 디렉토리를 만들어야합니다. 아래에서 해봅시다.

$ mkdir dapp-todo

$ cd dapp-todo

폴더에 들어가면 아래 명령을 실행하여 트러플 프로젝트를 시작해야합니다..

$ 트러플 초기화

완료되면 위와 같은 메시지가 표시됩니다. 이는 폴더와 파일이 성공적으로 생성되었음을 의미합니다. 이제 좋아하는 텍스트 편집기에서 폴더를 열 수 있습니다. 그러나 그렇게하기 전에 package.json 파일. 이것은 프로젝트에 필요한 종속성을 설치하는 데 도움이됩니다..

수동으로 파일을 생성 한 다음 아래 표시된 내용을 저장할 수 있습니다..

{

  “이름”:“dapp-todo”,

  “버전”:“1.0.0”,

  “설명”: “이더 리움 기반 할일 목록”,

  “main”:“truffle-config.js”,

  “디렉터리”: {

    “테스트”: “테스트”

  },

  “스크립트”: {

    “dev”:“lite-server”,

    “test”: “echo \”Error : no test specified \ ” && sexit 1 ″

  },

  “저자”: “[email protected]”,

  “라이센스”: “ISC”,

  “devDependencies”: {

    “부트 스트랩”:“4.1.3”,

    “chai”:“^ 4.1.2”,

    “chai-as-promised”:“^ 7.1.1”,

    “chai-bignumber”:“^ 2.0.2”,

    “lite-server”:“^ 2.3.0”,

    “nodemon”:“^ 1.17.3”,

    ‘트러플’: ‘5.0.2’,

    “트러플 계약”:“3.0.6”

  }

}

완료되면 이제 다음 명령을 실행하여 종속성을 설치하십시오..

$ npm 설치

디렉토리 구조 이해

디렉토리 구조는 다음과 같습니다..

각 폴더를 하나씩 이해합시다.

  • 계약: 디렉토리에는 모든 스마트 계약이 포함되어 있습니다. migrations.sol 계약은 블록 체인으로의 마이그레이션을 처리합니다..
  • 마이그레이션 : 마이그레이션 디렉토리에는 마이그레이션 데이터가 포함됩니다. 여기에서 마이그레이션이 발생합니다..
  • node_modules: 모든 노드 모듈 / 종속성을 포함합니다..
  • 테스트: 이 디렉토리에는 테스트 파일이 포함되어 있습니다..
  • truffle-config.js:이 파일에는 트러플 프로젝트 구성이 포함됩니다..

스마트 계약 생성

이제 우리는 스마트 계약 생성. 스마트 계약은 계약 폴더에 저장됩니다. todo.sol이라는 이름의 스마트 계약 파일을 만들어 보겠습니다.

완료되면 이제 아래와 같이 코드를 작성해야합니다..

pragma 견고성 ^ 0.5.0;

계약 Todo {

// 여기에 코드

}

코드의 첫 번째 줄은 스마트 계약을 작성하는 데 사용하는 Solidity 버전을 지정합니다. 다음으로 contract 키워드를 사용하고 Todo 계약을 만들어야합니다. 여기에는 스마트 계약에 대한 코드가 포함됩니다..

이제 모든 것이 의도 한대로 작동하는지 확인하기 위해 변수를 추가하겠습니다..

pragma 견고성 ^ 0.5.0;

계약 Todo {

uint 작업 = 0;

}

여기서는 Todo 앱에있는 작업 수를 계산할 작업 변수를 정의합니다..

Ganache에 연결

Truffle에서 스마트 계약을 올바르게 설정 했으므로 이제 생성 한 Ganache 프라이빗 블록 체인에 연결해야합니다. 이렇게하려면 일부 구성 파일을 업데이트해야합니다. 또한 개인 블록 체인 네트워크에 연결할 수 있도록 마이그레이션 스크립트를 생성하고 실행해야합니다..

시작하려면 truffle-config.json 파일을 업데이트해야합니다. 핵심 프로젝트 디렉토리 내에 있어야합니다. 열면 다음 코드를 복사하여 붙여 넣습니다..

module.exports = {

네트워크 : {

개발 : {

호스트 :“127.0.0.1”,

포트 : 7545,

network_id :“*”// 네트워크 ID 일치

}

},

solc : {

최적화 프로그램 : {

활성화 됨 : 참,

실행 : 200

}

}

}

truffle-config.js 파일이 생성되었으므로 이제 우리가 생성 한 스마트 계약을 개인 블록 체인 네트워크로 마이그레이션 할 수 있도록 마이그레이션 스크립트를 생성해야합니다..

이름을 2_deploy_contracts.js로 등록합니다.

마이그레이션은 우리의 Todo 앱에 매우 중요합니다. 블록 체인은 데이터베이스 유형이므로 한 상태에서 다른 상태로 변경해야합니다. 마이그레이션이 도움이되는 곳입니다..

마이그레이션 파일을 연결하려면 새로 생성 된 마이그레이션 파일에 다음 코드를 추가하여 업데이트해야합니다..

var Todo = artifacts.require (“./ Todo.sol”);

module.exports = function (deployer) {

deployer.deploy (토도)

}

코드의 첫 번째 줄은 스마트 계약을 참조하는 변수를 생성합니다. 완료되면 배포합니다..

완료되면 이제 migrate 명령을 실행하겠습니다..

$ Truffle 마이그레이션

아래 명령을 사용하여 콘솔을 실행할 수도 있습니다..

$ truffle 콘솔

우리의 할일 목록 앱 개발

이제 첫 번째 Ethereum 스마트 계약을 성공적으로 실행 했으므로 이제 dApp에 기능을 추가 할 때입니다. 우리의 dApp은 간단합니다. 할일 목록에 작업이 나열됩니다. 우리는 그것을 실현하기 위해 스마트 계약을 사용해야합니다..

아래에서 해봅시다.

pragma 견고성 ^ 0.5.0;

계약 Todo {

uint 공용 작업 = 0;

 

struct Task {

단위 ID;

문자열 내용;

bool 완료;

}

}

여기서는 struct 키워드를 사용하여 새로운 struct Task를 생성했습니다. 이를 사용하여 ID, 콘텐츠 및 완료된 부울 값을 포함하는 Task의 구조를 정의합니다..

다음으로 태스크 구조를 매핑하고 블록 체인에서 액세스 할 수 있도록 공개해야합니다. 이렇게하려면 다음 코드 줄을 추가해야합니다..

스마트 계약 코드는 이제 아래와 같습니다..

pragma 견고성 ^ 0.5.0;

계약 Todo {

uint 공용 작업 = 0;

struct Task {

단위 ID;

문자열 내용;

bool 완료;

}

mapping (uint => 작업) 공개 작업;

}

마지막으로 작업을 처리하는 함수를 만들어야합니다..

function createTask (string memory _content) public {

taskCount ++;

tasks [taskCount] = 작업 (taskCount, _content, false)

}

이 기능은 대부분 자명합니다. 우리는 Todo dApp에 나열된 작업 수를 계산할 수 있도록 함수를 만들었습니다..

마지막으로 Todo 클래스를 초기화하는 생성자를 만들어야합니다..

constructor () public {

createTask ( “이것은 우리의 첫 번째 작업입니다”)

}

todo.sol 파일은 이제 아래와 같이 보일 것입니다..

pragma 견고성 ^ 0.5.0;

계약 Todo {

uint 공용 작업 = 0;

struct Task {

단위 ID;

문자열 내용;

bool 완료;

}

constructor () public {

createTask ( “이것은 우리의 첫 번째 작업입니다”)

}

mapping (uint => 작업) 공개 작업;

function createTask (string memory _content) public {

taskCount ++;

tasks [taskCount] = 작업 (taskCount, _content, false)

}

}

작업 생성

Todo dApp에서 작업을 생성 할 수도 있습니다. 이를 위해 새 작업이 생성 될 때 트리거를 생성해야합니다. 우리의 접근 방식은 새 이벤트 TaskCreated를 만든 다음 기존 createTask () 함수에 추가하는 것입니다..

이벤트 TaskCreated (

단위 ID;

문자열 내용,

bool 완료

);

이제 createTask () 함수에 다음 줄을 추가합니다..

TaskCreated (taskCount, _content, false); 방출

작업 완료

이벤트를 사용하여 완료 작업을 추가 할 수도 있습니다. Todo 계약에 다음 이벤트를 추가해야합니다.

이벤트 TaskCompleted (

단위 ID,

bool 완료

);

작동하려면 새 기능도 추가해야합니다..

function toggleCompleted (uint _id) public {

작업 메모리 _task = 작업 [_id];

_task.completed =! _task.completed;

작업 [_id] = _ 작업;

TaskCompleted (_id, _task.completed)를 내 보냅니다.

}

축하합니다! Ethereum 블록 체인에 첫 번째 Todo 목록 dApp을 만들었습니다..

엔딩 노트

이것은 또한 블록 체인 앱 튜토리얼을 구축하는 방법의 끝으로 이어집니다. 이것이 처음부터 빌드 블록 체인 앱을 빌드하는 방법입니다..

거기에서 최종적으로 블록 체인으로 마이그레이션하기 전에 계약을 올바르게 테스트해야합니다. 또한 앱의 프런트 엔드를 만들고 테스트 할 수도 있습니다. 관심이 없다면 콘솔을 실행하고 변수와 함수에 액세스하여 테스트 할 수 있습니다.!

하지만 여전히 블록 체인의 의미를 알지 못한다면 무료 블록 체인 과정을 시작하여 이에 대해 자세히 알아 보시기 바랍니다. 작동 방식을 배우거나 이해하지 않으면 프로그래밍 개념을 파악하는 것이 정말 어려울 것입니다..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map