웅쓰뚱쓰
웅쓰의 IT
웅쓰뚱쓰
  • 분류 전체보기 (127)
    • 프로그래밍 (31)
      • 자료구조&알고리즘 (12)
      • Django (1)
      • NAS (3)
      • python (1)
      • Java (2)
      • Kotlin (0)
      • 안드로이드 (0)
      • 백준 (6)
      • 프로그래머스 (1)
      • 블록체인 (4)
    • IT (57)
      • 스마트폰 (30)
      • 모바일 (3)
      • 기타제품 (9)
      • 기타기술 (10)
      • 소식 (5)
    • 꿀팁 (1)
      • 윈도우10 (1)
    • 리얼후기 (4)
      • 제품리뷰 (2)
      • 일상리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 블랙프라이데이
  • 안드로이드 스튜디오
  • 안드로이드
  • 블록체인
  • LG
  • 아마존
  • 이더리움
  • 앱 만들기
  • vr
  • 백준
  • 동적배열
  • 삼성
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
  • 화웨이
  • 폴더블폰

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
웅쓰뚱쓰

웅쓰의 IT

Remix와 Ganache로 컨트랙트 호출 & 배포 해보기
프로그래밍/블록체인

Remix와 Ganache로 컨트랙트 호출 & 배포 해보기

2022. 8. 25. 23:00


Remix에서 Ganache 프라이빗 네트워크에 컨트랙트 배포, 호출 하기

우선 프라이빗 네트워크를 구동해주고

ganache-cli -d -m -p 7545 -a 5

 

Remix에서 Environment를 Ganache Provider로 변경한다

*여기서는 3_Ballot.sol 파일을 이용하여 진행하였음

 

배포를 해보면

ganache에서 결과를 확인할 수 있다

 


 

Console에서 Ganache 프라이빗 네트워크에 컨트랙트 배포, 호출 하기

배포하기

다른 cmd 창을 열어서 프라이빗 네트워크에 연결을 해준다

geth attach http://localhost:7545

컨트랙트를 배포하기 위해서는 ABI와 바이트코드가 필요하다

ABI는 Remix에서 컴파일한 결과로 얻을 수 있다

 

바이트 코드는 Remix에서 컨트랙트를 호출한 결과로부터 얻을 수 있다

 

콘솔에서 ABI를 다루기 위해 Json형태의 코드를 String으로 바꿔준다

https://jsonformatter.org/

 

Best JSON Formatter and JSON Validator: Online JSON Formatter

Online JSON Formatter / Beautifier and JSON Validator will format JSON data, and helps to validate, convert JSON to XML, JSON to CSV. Save and Share JSON

jsonformatter.org

 

이제 콘솔에서 ABI와 바이트코드를 준비해준다

컨트랙트를 생성해주고

myContract = web3.eth.contract(abi)

트랜잭션 메시지를 생성해준다

tx = {from: eth.accounts[0], data: bytecode, gas: 3000000}

 

컨트랙트를 배포해준다

myContract.new(tx, function(e, contract) {console.log(e, contract.address)})

 

ganache에서 결과를 확인할 수 있다

 

호출하기

방금 배포한 트랙잭션의 해시 코드를 이용하여 CA(contractAddress)를 획득한다

eth.getTransactionReceipt([해시코드])

 

abi와 CA를 이용하여 컨트랙트를 호출한다

 

컨트랙트 주소나 컨트랙트가 갖고있는 함수를 호출할 수 있다

 


 

MetaMask로 컨트랙트 배포해보기

 

우선 Metamask에 계정을 연결해주자

ganache를 실행할 때, 생성한 계정의 private key를 아무거나 가져와서 메타마스크와 연결한다

Remix에서 Metamask와 연결해준다

 

메타마스크와 연결된 것을 확인

 

이제 배포를 하면 메타마스크에서 승인 과정을 거치게 된다

 

메타마스크에서 승인을 하면 정상적으로 컨트랙트가 배포된다

 

컨트랙트 결과는 ganache에서도 확인이 가능하다

 

 

 

 

'프로그래밍 > 블록체인' 카테고리의 다른 글

펀딩해보는 컨트랙트 만들어보기  (0) 2022.08.26
트랜잭션에 데이터 담아 보내기  (0) 2022.08.24
이더리움 프라이빗 네트워크 만들고 MetaMask로 송금하기  (0) 2022.08.23
    '프로그래밍/블록체인' 카테고리의 다른 글
    • 펀딩해보는 컨트랙트 만들어보기
    • 트랜잭션에 데이터 담아 보내기
    • 이더리움 프라이빗 네트워크 만들고 MetaMask로 송금하기
    웅쓰뚱쓰
    웅쓰뚱쓰

    티스토리툴바