이 영역을 누르면 첫 페이지로 이동
CodeJUN 블로그의 첫 페이지로 이동

CodeJUN

페이지 맨 위로 올라가기

CodeJUN

심심해서 하는 블로그

Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (3)

  • 2020.02.05 11:38
  • BlockChain

이전 글 보기

더보기

1편 : https://blog.codejun.space/71

2편 : https://blog.codejun.space/72

 

지난 2편에서는 Solidity를 작성해보고 Compile 해서 Ganache에 배포하는 것 까지 해보았다. 이 포스팅에서는 Ganache에 배포한 SmartContract를 Web3j를 이용하여 Android와 통신에 사용할 java 파일을 생성해 보겠다.

 

필요한 것

1. Docker

2. Android Studio

3. Web3j

 

일단 Docker는, Solidity를 .bin과 .abi 파일로 컴파일 하기 위해 필요한 것이고, web3j 는 Android에서 SmartContract를 사용하기 위해 java로 Generate해준다.

 

Docker의 다운로드 방법은 2편에 기재해 놓았으나, 나는 친절하니까 한 번 더 알려드리도록 하겠다.

(Mac) https://docs.docker.com/docker-for-mac/install/

(Windows) https://docs.docker.com/docker-for-windows/install/

OS에 맞게 가서 다운받도록 한다.

 

Web3j 다운로드

$ curl -L https://get.web3j.io | sh

 

컴파일을 해 보자

위에서도 말씀드렸듯이, Android에서 사용하려면 Web3j를 이용해야 하고, web3j를 이용하려면 .bin .abi 파일로 컴파일을 해야 한다. 우선 터미널을 열고 프로젝트 경로에서 contracts 폴더에 들어간다. 그 다음 아래와 같이 커맨드를 입력한다. 아, 당연히 Docker는 실행 중 이어야 한다.

docker run --rm -v ${PWD}:/sources ethereum/solc:0.5.3 -o /sources/build --abi --bin --optimize /sources/MyToken.sol

그럼 이제 contracts폴더 안에 build 폴더가 생성되고 그 안에 sol파일에 대한 bin , abi  파일이 생성이 되었다. 마지막으로 web3j java파일로 generate 해보도록 하겠다.

build 폴더로 들어가서 아래 커맨드를 입력한다.

$ web3j solidity generate -b MyToken.bin -a MyToken.abi -o /원하는/출력/경로 -p com.example.yourpackage

-o 뒤에는 최종 java파일이 나올 경로를 설정해 주면 된다. -p는 이제 생성할 Android 프로젝트의 package명을 넣으면 된다. 그럼 최종적으로 MyToken.java 파일이 생성이 된다. 이로써 모든 준비는 끝이 났다.

 

막상 글을 쓰다보니 점점 귀찮아 진다..

Android  프로젝트에 import하고 사용 하는 건 또 따로 빼서 알려드리도록.... 하겠...ㄷ...

저작자표시 비영리 동일조건 (새창열림)

'BlockChain' 카테고리의 다른 글

Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (4)  (0) 2020.02.06
Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (2)  (5) 2020.02.04
Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (1)  (0) 2020.02.04

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (4)

    Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (4)

    2020.02.06
  • Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (2)

    Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (2)

    2020.02.04
  • Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (1)

    Ganache + Solidity + ERC20을 활용한 Ethereum SmartContract 배포 및 Android 통신 (1)

    2020.02.04
다른 글 더 둘러보기

정보

CodeJUN 블로그의 첫 페이지로 이동

CodeJUN

  • CodeJUN의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 방명록

카테고리

  • 분류 전체보기 (54)
    • Android (38)
    • BlockChain (4)
    • React Native (4)
    • 아두이노 (2)
    • 프로젝트 (6)

공지사항

  • 공지 - 블로그를 시작하며

태그

  • c++
  • arduino
  • 강좌
  • Android
  • 안드로이드
  • 아두이노
  • Firebase
  • C

나의 외부 링크

  • Github

정보

CODE_JUN의 CodeJUN

CodeJUN

CODE_JUN

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © CODE_JUN. Designed by Fraccino.

티스토리툴바