20181119
C++로 만들어진 파일을 컴파일 해 wasm파일로 변환하여 EOS 블록체인에 올려보려 한다.
EOS doc에 C++로 파일 만드는 방법과 eosio-cpp로 컴파일해 wasm 과 abi파일을 만드는 것 까지는 수월하게 해결했는데 set contract를 사용하여 블록체인에 deploy하는 것에 꽤 시간이 걸렸다. 그 이유인 즉슨, 애초에 docker image를 이용하여 node를 돌리고 cleos에 alias를 걸어 docker exec를 수행해 왔는데 그걸 깜박하고 cleos로 local file (wasm파일)에 접근을 하려고 했기 때문이다.
해결방법은
1. 아래의 명령으로를 compile 된 wasm된 파일 혹은 wasm이 포함된 폴더를 docker 컨테이너로 copy 한 후
docker cp <local_file_dir> <imagename>:<docker_dir>
2. 아래 명령으로 docker container에 접속 하고
docker exec -it <imagename> bash
3. docker container bash에서 cleos set contract 명령어를 수행한다.
cleos -u https://api.eosnewyork.io:443 set contract <account_name> <docker container dir> -p <account_name>@active
docker_container_dir 안에 wasm 파일과 abi파일을 넣어주면 그냥 폴더 위치까지만 입력하면 wasm과 abi를 모두 deploy해준다.
다만 한가지 더 명심할 점은 contract를 deploy할 때 램과 cpu network 가 필요하므로 깡통 account에 올리려 하면 에러가 난다.
'' 카테고리의 다른 글
EOS Smart Contract deploy 하기. (0) | 2018.11.19 |
---|---|
EOS에서 RAM, CPU, Brandwidth 그리고 Network Brandwidth란 (0) | 2018.11.07 |
In NODE JS, Express 4 how to catch post method parameter (0) | 2018.11.03 |
기존 account로 새 account 만들기 (0) | 2018.10.18 |
EOS Dapp 개발 Chapter1-2: EOSIO/EOS image 다운로드 및 설치 (0) | 2018.10.11 |
EOS Dapp 개발 Chapter1-1: Docker 설치하기 (0) | 2018.10.11 |