블록체인 프로젝트 개발에 가나슈를 사용하는 방법
출처 cointelegraph 저자 온카르 싱 소스:EK 이페어케이 플러스
개인 이더리움 블록체인 네트워크와 사용자 친화적인 인터페이스를 포함하여 블록체인 개발에 Ganache를 사용할 때의 이점에 대해 알아보십시오.
이더리움 블록체인 네트워크에서 스마트 계약을 구축하는 데 사용되는 솔리디티(Solidity)와 같은 프로그래밍 언어는 블록체인 개발에 자주 사용됩니다. Ganache는 개발자가 라이브 블록체인 네트워크에 배포하기 전에 애플리케이션을 테스트하고 디버그할 수 있도록 지원합니다. 또한 개발자는 기본 아키텍처와 합의 알고리즘, 암호화 및 분산 거버넌스와 같은 개념을 포함하여 블록체인 기술에 정통해야 합니다.
이 기사에서는 Ganache가 무엇인지, 그리고 분산 응용 프로그램(DApp) 개발에서 Ganache를 사용하는 방법에 대해 설명합니다.
블록체인 기술에서 가나슈란 무엇입니까?
Ganache는 개발자가 테스트 및 개발 목적으로 로컬 블록체인 네트워크를 만드는 데 널리 사용하는 소프트웨어 도구입니다. 개발자는 Ganache를 사용하여 로컬 PC에서 블록체인 네트워크를 시뮬레이션하여 다양한 시나리오를 효과적으로 테스트하고 블록체인 앱 문제를 해결할 수 있습니다. Ganache는 Ethereum 및 Filecoin을 사용하여 분산 애플리케이션의 빠른 개발을 지원합니다.
이 도구는 먼저 개발자의 컴퓨터에 설치되며 블록체인 프로젝트 개발에 Ganache를 사용하기 전에 새 작업 공간을 만들어야 합니다. 개발자는 작업 공간이 구축되면 블록체인 프로젝트를 Ganache에 연결하여 시뮬레이션된 블록체인 네트워크에서 애플리케이션을 테스트하고 디버그할 수 있습니다.
Ganache는 새 계정 생성, 트랜잭션 전송 기능 및 스마트 계약 디버깅 기능을 포함하여 다양한 유용한 기능을 제공합니다. 스마트 컨트랙트 코드에서 버그를 효과적으로 찾고 수정함으로써 개발자는 Ganache를 디버깅 도구로 사용하여 개발 프로세스의 속도를 높일 수 있습니다. 디버거 기능을 사용하면 개발자가 코드를 한 줄씩 샅샅이 뒤지고 각 단계에서 변수 값을 볼 수 있으므로 버그를 더 쉽게 찾고 수정할 수 있습니다.
Ganache는 사용자 인터페이스(UI)와 명령줄 인터페이스(CLI)의 두 가지 버전을 사용할 수 있습니다. 사용자 친화적인 Ganache UI 덕분에 개발자는 로컬 블록체인과 빠르게 통신할 수 있습니다. 계정, 잔액, 거래 및 이벤트에 대한 실시간 데이터를 제공하는 것 외에도 스마트 계약을 테스트하고 디버깅하기 위한 도구도 있습니다. 또한 인터페이스에는 사용자가 각 블록 및 트랜잭션의 세부 사항을 검사할 수 있는 내장 블록 탐색기 도구가 포함되어 있습니다.
반면에 개발자는 Ganache CLI를 사용하여 터미널을 통해 로컬 블록체인과 통신할 수 있습니다. 명령줄 도구 사용을 선호하는 사람들을 위한 보다 다양하고 컴팩트한 선택입니다. 개발자는 CLI를 다른 개발 도구 및 스크립트와 통합하여 테스트 및 배포 작업을 자동화할 수 있습니다.
그럼에도 불구하고 Ganache UI와 CLI의 필수 기능은 동일하며 개발자는 자신의 취향과 워크플로에 가장 적합한 버전을 선택할 수 있습니다.
가나슈 블록체인은 무료인가요?
예, Ganache는 무료 오픈 소스 블록체인 개발 도구입니다. 개인 블록체인 네트워크는 Ganache의 사용자 친화적인 인터페이스를 사용하여 시작하고 관리할 수 있습니다. 개발자가 안전한 환경에서 스마트 계약을 쉽게 테스트할 수 있도록 네트워크에서 생성된 계정에 대한 개인 키도 생성합니다.
이더리움 개발 커뮤니티에서 Ganache는 스마트 계약을 생성, 평가 및 배포하는 데 널리 사용되는 도구입니다. 개발자가 워크플로에 통합하는 것은 Truffle Suite 프레임워크와 같은 다른 이더리움 개발 도구와 상호 운용이 가능하기 때문에 이상적입니다. Truffle Suite는 블록체인에서 스마트 계약을 구축, 테스트 및 배포하기 위한 이더리움 개발 프레임워크입니다.
트러플과 가나슈는 같은 블록체인인가요?
트러플과 가나슈는 동일한 블록체인은 아니지만 블록체인 개발에 사용되는 밀접하게 관련된 도구입니다. 트러플은 다양한 블록체인 네트워크와 함께 사용할 수 있지만, 로컬 개발 네트워크로서 가나슈와 함께 사용하는 것이 가장 많습니다.
스마트 컨트랙트를 라이브 네트워크에 출시하기 전에 개발자는 Truffle을 사용하여 Ganache 네트워크에서 스마트 컨트랙트를 설계, 컴파일 및 테스트할 수 있습니다. 이를 통해 소프트웨어를 빠르고 저렴하게 설계 및 테스트하고 스마트 계약 코드를 반복하고 수정할 수 있습니다.
가나슈 설치 및 사용 방법
Ganache는 라이브 네트워크에 배포하기 전에 시뮬레이션된 블록체인 네트워크에서 애플리케이션을 테스트하고 디버그할 수 있게 해주기 때문에 블록체인 개발자에게 필수적인 도구입니다. 다음은 개인 이더리움 블록체인 개발을 위해 Ganache를 설치하고 사용하는 방법에 대한 단계별 가이드입니다.
1단계: Ganache 다운로드 및 설치
공식 Ganache 웹 사이트에서 운영 체제에 맞는 응용 프로그램을 다운로드하십시오. 설치 파일을 다운로드 한 후 실행 한 다음 화면의 지시에 따라 컴퓨터에 응용 프로그램을 설치하십시오. Ganache는 모든 버전의 Windows, Mac 및 Linux 운영 체제에서 사용할 수 있습니다.
2단계: 새 작업 영역 만들기
새 작업 공간을 만들려면 Ganache 응용 프로그램을 열고 "새 작업 공간"을 선택하십시오. 사용자는 작업 공간 설정에서 계정 수, 가스 한도 및 각 계정의 시작 잔액을 포함하여 고유한 이더리움 블록체인에 대한 네트워크 매개변수를 설정할 수 있습니다.
이더리움 작업 공간은 가나슈를 사용하여 구축된 맞춤형 이더리움 블록체인 네트워크에 대한 매개변수를 설정하는 설정 및 사용자 계정 집합입니다. 개발자는 작업 공간을 사용하여 테스트 및 개발 목적으로 프라이빗 이더리움 네트워크를 빠르게 설정할 수 있습니다.
3단계: 개인 이더리움 블록체인 네트워크 시작
네트워크 설정을 구성한 후 "시작"을 클릭하여 개인 이더리움 블록체인 네트워크를 시작합니다. 작업 영역 설정에서 설정한 각 계정에 대해 Ganache는 개인 키 집합을 생성합니다. 그런 다음, 개발 도구를 연결하는 데 필요하므로 화면 상단에서 RPC(원격 프로시저 호출) 서버 주소를 복사합니다.
클라이언트 소프트웨어는 RPC 통신 프로토콜을 사용하여 멀리서 서버 쪽 프로세스를 호출할 수 있습니다. 그 결과, 프로그래머가 기본 네트워크 전송 또는 통신 프로토콜의 세부 사항에 대해 걱정할 필요 없이 다른 주소 공간 또는 프로세스에서 프로시저 또는 기능을 활성화하는 것이 가능합니다. 이를 통해 프로그램은 네트워크의 다른 시스템과 통신할 수 있습니다.
4단계: 개발 도구를 Ganache 네트워크에 연결
Truffle Suite와 같은 개발 도구를 Ganache 네트워크에 연결하여 프라이빗 이더리움 블록체인에서 스마트 계약을 배포하고 테스트해야 합니다. 이렇게 하려면 다음과 같이 하십시오.
개발 도구를 열고 설정 또는 구성 메뉴를 찾습니다.
공급자 또는 네트워크 선택 옵션을 검색한 다음 Ganache에서 복사한 RPC 서버 주소를 입력합니다.
개발 도구에서 새 네트워크를 사용하도록 하려면 수정 사항을 저장하고 다시 시작합니다.
5단계: 스마트 계약 테스트 및 배치
네트워크를 구성한 후 사용자는 프라이빗 이더리움 블록체인에서 스마트 계약을 배포하고 테스트할 수 있습니다. Truffle 명령줄 인터페이스를 사용하여 계약을 컴파일하고 Ganache 네트워크에 배포할 수 있습니다. 컨트랙트가 배포되면 Truffle CLI가 컨트랙트와 상호 작용하고 기능을 테스트할 수 있습니다.
이를 통해 개발자는 다양한 명령을 사용하여 스마트 계약 및 기본 블록체인 네트워크와 상호 작용할 수 있습니다. 개발자는 Truffle CLI를 사용하여 스마트 계약의 구축 및 배포를 자동화하여 DApp을 더 쉽게 개발하고 배포할 수 있습니다.
스마트 컨트랙트가 메인넷에 배포되면 네트워크에 제출해야 하며, 블록체인에서 컨트랙트를 실행하는 비용을 충당하기 위해 암호화폐 수수료가 지불됩니다. 계약이 배포되면 변경할 수 없고 변경할 수 없게 됩니다. 스마트 계약이 의도한 대로 작동하고 안전한지 확인하려면 배포 전에 적절하게 테스트하는 것이 중요합니다.
Truffle CLI를 사용한 간단한 계약 배포의 예
الخطوة 1 : 터미널 또는 명령 프롬프트를 열어 프로젝트를 빌드하려는 디렉토리로 이동합니다.
2단계: 새 Truffle 프로젝트를 시작하려면 다음 명령을 입력합니다.
Truffle init"는 기본 디렉토리 구조와 설정 파일을 사용하여 새로운 Truffle 프로젝트를 초기화하는 명령입니다.
3단계: contracts 디렉토리 아래에 새 Solidity 계약 파일을 추가합니다. 다음은 문자열을 저장하는 간단한 계약의 예입니다.
위의 코드는 Solidity 프로그래밍 언어로 작성된 스마트 계약입니다. 선언된 변수 중 하나인 "myString"이라는 공용 문자열 변수가 "MyContract"라는 계약에 있습니다. 블록체인의 모든 사람은 문자열 변수에 액세스할 수 있으며, 이 변수는 "Hello, world!"로 초기화됩니다.
Ganache와 같은 도구를 사용하여 이 계약을 사설 블록체인 또는 이더리움 네트워크에서 설정할 수 있습니다. 일단 설치되면 블록 체인 주소로 전송 된 트랜잭션과 상호 작용하는 데 사용할 수 있습니다.
4단계: 다음 명령을 실행하여 계약을 컴파일할 수 있습니다.
"Truffle compile"은 계약 코드를 컴파일하고 ABI(응용 프로그램 이진 인터페이스) 및 바이트 코드를 생성하는 명령입니다. ABI는 스마트 계약과 애플리케이션 간의 인터페이스 역할을하는 반면 바이트 코드는 이더 리움 가상 머신 (EVM)에서 실행될 수있는 스마트 계약의 컴파일 된 버전입니다.
5단계: 다음 명령을 실행하여 Ganache와 같은 로컬 블록체인 네트워크에 계약을 배포합니다.
Truffle migrate"는 계약을 로컬 네트워크에 배포하고 "migrations" 디렉터리에 새 마이그레이션 스크립트를 만드는 데 사용되는 명령입니다.
6단계: 다음 명령을 실행하여 Truffle 콘솔을 사용하여 배포된 계약과 상호 작용합니
"트러플 콘솔"은 web3.js 라이브러리 및 계약 아티팩트가 로드된 콘솔을 열어 블록체인 네트워크와의 상호 작용을 허용합니다.
7단계: 계약의 인스턴스를 설정하고 콘솔에 있을 때 해당 함수를 호출하여 사용자가 계약과 통신할 수 있습니다. 예를 들어 다음 명령을 사용하여 myString의 값을 검색할 수 있습니다.
문자열 변수(myString)의 값은 위의 코드를 사용하여 스마트 계약(MyContract)의 배치된 인스턴스에서 검색됩니다. "Hello, world!" 출력은 "console.log(result)"를 사용하여 콘솔에 출력됩니다.
가나슈 사용의 장점
가나슈를 블록체인 개발 도구로 사용하면 몇 가지 이점이 있습니다. 주요 이점 중 하나는 사용자가 테스트 및 개발을 위한 직관적인 UI를 통해 프라이빗 이더리움 블록체인 네트워크에 액세스할 수 있다는 것입니다. 결과적으로 프로그래머는 스마트 계약을 라이브 네트워크에서 사용하기 전에 안전하고 사적인 환경에서 테스트할 수 있습니다. 로컬 네트워크를 제공함으로써 개발자는 공용 네트워크에 연결된 높은 비용과 긴 트랜잭션 시간을 피할 수 있습니다.
테스트 및 개발을 위해 Ganache는 네트워크에 형성된 계정에 대한 개인 키도 생성하여 또 다른 수준의 보호를 추가합니다. 또한 블록체인에서 스마트 계약을 생성, 테스트 및 배포하는 것은 Ganache와 Truffle Suite 프레임워크의 호환성으로 인해 더 간단해졌습니다.
블록체인 기반 게임과 같은 DApp의 생성과 블록체인 기반 공급망 관리 시스템을 위한 스마트 계약 테스트는 Ganache를 사용할 수 있는 방법의 예입니다.
블록체인 개발을 위한 Ganache 사용의 과제
Ganache는 블록체인 개발을 위한 강력한 도구이지만 개발자가 직면할 수 있는 몇 가지 문제가 여전히 있습니다. Ganache가 로컬 개발 네트워크이고 이더리움 메인넷에 직접 연결되지 않는다는 사실은 주요 어려움 중 하나입니다. 이 때문에 Ganache 네트워크와 메인넷 간의 라이브 네트워크에 배포할 때 스마트 계약이 작동하는 방식에 차이가 있을 수 있으며, 이로 인해 예상치 못한 문제가 발생할 수 있습니다.
Ganache가 항상 라이브 네트워크와 동일한 조건을 반영하지 않을 수 있다는 사실은 사용의 또 다른 어려움을 나타냅니다. 예를 들어 Ganache를 사용하면 개발자가 실제 네트워크의 가스 요금과 일치하지 않을 수 있는 자체 가스 요금을 설정할 수 있습니다. 라이브 네트워크에서 스마트 계약을 구현할 때 가스 가격이 거래를 완료하기에 충분하지 않을 수 있기 때문에 문제가 발생할 수 있습니다.
마지막으로 Ganache와 다른 이더리움 개발 도구의 상호 운용성 문제가 발생할 수 있습니다. Ganache와 Truffle Suite 프레임워크는 꽤 호환되지만 개발자가 Ganache와 함께 작동하도록 만들어지지 않은 다른 프로그램이나 라이브러리를 사용하면 문제가 발생할 수 있습니다.
저자
온카르 싱
Onkar Singh은 암호화폐 산업과 관련된 최근 사건을 주시하는 블록체인 애호가입니다. 그는 블록체인 및 암호화 도메인에서 양질의 콘텐츠를 제공하는 것을 목표로 합니다. 그는 금융 콘텐츠 작가이기도 하며 여러 웹사이트에서 주식 시장 뉴스, 기초 연구 및 기술 분석과 관련된 여러 금융 프로젝트에 참여했습니다.