 안녕하세요. 개발자 모도리입니다. 지난 글에서 말씀 드린 것 처럼 EOS Smart Contract 작성 방법 1탄을 준비했습니다. EOS 초보 개발자의 입장에서 최대한 어렵지 않게 작성해 보려고 합니다. 진행에 어려운 점이 있을 경우 댓글로 남겨주시면 답변 드리겠습니다. ### 개발 환경 개발 환경은 Ubuntu 17.10에서 진행합니다. 혹시 Ubuntu 환경이 아니신 분들은 아래 동영상으로 보시고 설치해 주시면 됩니다. [버추얼박스에 리눅스 우분투 17.10 데스크탑 설치하기](https://www.youtube.com/watch?v=hftXXfzlAQk) ### 사전 준비 계정에 root 패스워드 입력 없이 sudo 명령을 사용할 수 있는 권한을 줍니다. `sudo visudo` 로 권한 설정 파일을 엽니다.  `계정명 ALL=(ALL:ALL) NOPASSWD:ALL` **NOPASSWD** 스펠링 주의하세요 제일 아래 추가 후 `Ctrl` + `x` -> `y` -> `Enter` 순으로 입력합니다. 우분투 업데이트 서버를 다음카카오 서버로 변경합니다. (글 다 쓰고 빌드했다가 실패해서 다시 추가했습니다. ㅠㅠ) `sudo vi /etc/apt/sources.list` **:**(콜론)누른 후 아래 명령어를 입력하고 엔터를 누르면 kr.archive.ubuntu.com이 ftp.daumkakao.com으로 변경된 것을 확인할 수 있습니다. `%s/kr.archive.ubuntu.com/ftp.daumkakao.com` **:**(콜론)누른 후 `wq`를 입력해서 저장하고 나옵니다.  패키지 목록을 최신 버전으로 업데이트합니다. `sudo apt-get update` 최신 버전의 패키지가 있을 경우 설치합니다. `sudo apt-get upgrade` 개인적으로 생각하는 필수 패키지들을 설치합니다. `sudo apt-get install build-essential ssh git vim` 이제 본 게임을 시작합니다! ### 소스 코드 다운로드 EOS의 소스코드는 [EOS Github](https://github.com/EOSIO/eos)에서 받을 수 있습니다. Github에 들어가면 소스 코드 목록 밑에 README.md 파일이 보여지고 있습니다. 보시면 자세히 어떻게 설치를 진행하면 되는지 나와 ~~있으니 저는 이만...~~ 있습니다.  기본적으로 지원하고 있는 OS는 4종류입니다. 1. Amazon 2017.09 버전과 그 이후 버전 2. Fedora 25 버전과 그 이후 버전 (Fedora 27을 추천) 3. Ubuntu 16.04 버전과 그 이후 (Ubuntu 16.10 추천) **<- 저는 여기에 속합니다.** 4. MacOS Darwin 10.12 버전과 그 이후 (MacOS 10.13.x 추천) 소스코드를 다운 받아야 하는데, local testnet에서 실행할 것인지 public testnet에서 실행할 것인지에 따라서 받아야 되는 소스가 다릅니다. (정확히는 동일한 git을 clone하고 다른 버전으로 checkout해야 합니다.) 이유는 ***2018.03.06*** 현재는 DAWN 3.x 버전을 개발 중입니다. 그래서 public testnet은 아직 기존의 DAWN 2.x 버전으로 운영되고 있기 때문에 **public testnet**에 접속해서 스마트 컨트랙트를 올려보고 하려면 **2.x** 버전을 받아서 빌드해야 하고, 그냥 최신 버전을 **local testnet**에서 개발해 보겠다 라고 하면 **3.x** 버전을 받아서 빌드하면 됩니다. 저는 우선 3.x 버전을 받아서 local testnet에서 개발을 해보려합니다. 그런데 **As of February 2018, master is under heavy development and is not suitable for experimentation.** 라는 문구를 발견할 수 있습니다. 현재 master 브랜치는 불안정한 상태라서 권장하고 있지 않네요.  그러면 그나마 안정적인 3.x 버전을 찾아봅시다. 상단에 **releases** 탭을 눌러보면 그 동안 릴리즈 됐던 히스토리가 나오는데 그 중에서 latest release라고 되어 있는 것을 다운 받아서 빌드하겠습니다. **DAWN-2018-01-31-ALPHA** README.md 파일에 나와 있는 것 처럼 git clone으로 해보겠습니다. `git clone https://github.com/eosio/eos --recursive` 주~~욱 신나게 소스코드를 받아 옵니다.  하지만 지금 받아 온 소스는 master 브랜치의 소스입니다. 그래서 아까 봐뒀던 **DAWN-2018-01-31-ALPHA** 소스로 checkout 해줍니다. `cd eos` `git checkout DAWN-2018-01-31-ALPHA` `ls`   위의 파일 중에서 build.sh 파일을 이용해서 소스를 빌드하게 됩니다. 그런데 그냥 빌드하게 되면 에러가 발생하는데 doxygen 패키지가 없어서 발생하는 에러입니다. 의존성 패키지를 설치할 때 함께 설치할 수 있도록 스크립트에 추가합니다. `vi scripts/install_dependencies.sh` 맨 마지막에 **doxygen**을 추가합니다.  이제 대망의 빌드 스크립트를 실행합니다. `./build.sh ubuntu` 빌드는 꽤 오랜 시간이 걸리기 때문에 돌려놓고 이만 자러 가야겠습니다. 부디 내일 아침에 빌드가 성공적으로 되어 있길 바라며... (추가) 중간에 업데이트 서버에서 패키지들을 못 받아와서 에러가 발생했습니다. 다음카카오서버로 변경하는 방법 추가했습니다. (추가) 자고 일어났더니 중간에 패스워드를 입력해야 되는 부분이 있어서 1/3도 안되는 부분에서 멈춰있었네요 ㅠㅠㅠㅠㅠ 이 부분은 계정에 패스워드 입력 없이 root 권한을 행사할 수 있게 설정해 줘야 합니다. ## 참고 자료 [The first EOS developer meetup in Korea](https://www.youtube.com/playlist?list=PLysThb_HoI_FrcgPoLeabMwQvILeRxU_k) [Ubuntu 소프트웨어 업데이트 서버를 daum으로 변경 (sources.list)](http://inasie.tistory.com/39) [[Linux] sudo 로그인 시 패스워드 입력 없이 권한얻기](http://gompangs.tistory.com/81)
author | modolee |
---|---|
permlink | eos-smart-contract-1-eos |
category | kr |
json_metadata | {"tags":["kr","kr-newbie","kr-dev","eos"],"image":["https://steemitimages.com/DQmWQDjyP5d1RNW3mkCWUkDQ6yh3uDJFUZErPpaKBwKi4gM/iron_modolee.png","https://steemitimages.com/DQmemFn8hE2CzVAXVx21rbKfCrLQJBoiW8s2qiErSeC2V9h/visudo.png","https://steemitimages.com/DQmTWaoY8ctEXFW1PuDybv75pL7FS6r5tbdWB8qxTWHYNkA/change_repository.png","https://steemitimages.com/DQmPMo51wYEsGVZeADDjNDHKQojbFq3fqdVYJPZ1Q1jH67f/github_readme.png","https://steemitimages.com/DQmNMxmnMgPZKA9WZbeX9Ba4Qz6BNaVMh8TxDxVfuvAPGPv/master_fail.png","https://steemitimages.com/DQmPrW5GV5AWhdtoHXEvXRw9cHRpSnE7724RqJVquPVSMTz/git_clone.png","https://steemitimages.com/DQmUnD4cbMRuygY2uTYBxVQFJMxe7PhX5Mu9NdqBUCyWhnW/git_checkout.png","https://steemitimages.com/DQmNirGdJpjNq7WBNAFD586dwFC9kj671uvTuzzXDWNPeYq/ls_eos.png","https://steemitimages.com/DQmSML7gk5BNhvNUkcv6ZE91HPka8N76FudhbsrUubwtLEW/add_doxygen.png"],"links":["https://www.youtube.com/watch?v=hftXXfzlAQk","https://github.com/EOSIO/eos","https://www.youtube.com/playlist?list=PLysThb_HoI_FrcgPoLeabMwQvILeRxU_k","http://inasie.tistory.com/39","http://gompangs.tistory.com/81"],"app":"steemit/0.1","format":"markdown"} |
created | 2018-03-05 16:55:42 |
last_update | 2018-03-06 13:58:48 |
depth | 0 |
children | 6 |
last_payout | 2018-03-12 16:55:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 2.191 HBD |
curator_payout_value | 0.687 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 4,157 |
author_reputation | 285,192,678,959 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 0 |
post_id | 42,421,432 |
net_rshares | 707,638,199,584 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
morning | 0 | 416,983,361,094 | 39% | ||
kdj | 0 | 189,437,800,355 | 20% | ||
happyberrysboy | 0 | 32,210,470,495 | 10% | ||
nhj12311 | 0 | 32,673,696,401 | 21% | ||
tryword | 0 | 15,373,582,719 | 100% | ||
xiian | 0 | 11,595,616,804 | 51% | ||
journalist.yoo | 0 | 0 | 100% | ||
adana | 0 | 3,287,672,290 | 100% | ||
creamer7 | 0 | 1,362,613,212 | 100% | ||
talkit | 0 | 1,387,063,104 | 49% | ||
saypa | 0 | 0 | 100% | ||
mrwasabi | 0 | 589,619,194 | 100% | ||
ericahan | 0 | 659,952,755 | 100% | ||
foodmockgame | 0 | 261,146,798 | 100% | ||
modolee | 0 | 606,783,591 | 100% | ||
crypto.rich | 0 | 595,995,988 | 100% | ||
ejang | 0 | 612,824,784 | 100% |
오 !! 개발자셨군요 :) 저도 프로그래밍을 배워보고 싶어서 요즘 끄적끄적 해보고 있는데 아무래도 비전공자이고 독학으로 하려다 보니 어렵더라구요 ㅠㅠ 그래도 꾸준히 해보겠습니다 ! 스팀잇에 온걸 환영합니다 :) 팔로우하고 갑니다 !
author | creamer7 |
---|---|
permlink | re-modolee-eos-smart-contract-1-eos-20180306t132141171z |
category | kr |
json_metadata | {"tags":["kr"],"app":"steemit/0.1"} |
created | 2018-03-06 13:21:42 |
last_update | 2018-03-06 13:21:42 |
depth | 1 |
children | 1 |
last_payout | 2018-03-13 13:21:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 133 |
author_reputation | 8,463,113,556,595 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 42,625,508 |
net_rshares | 603,719,028 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
modolee | 0 | 603,719,028 | 100% |
환영해 주셔서 감사합니다. 저도 독학은 많이 어렵더라고요. ㅠㅠ 그래도 스팀잇에 글 연재 시작했으니, 연재 이어 가려면 계속 공부할 수 밖에 없을 것 같아요. 팔로우 감사합니다.^^
author | modolee |
---|---|
permlink | re-creamer7-re-modolee-eos-smart-contract-1-eos-20180306t133254982z |
category | kr |
json_metadata | {"tags":["kr"],"app":"steemit/0.1"} |
created | 2018-03-06 13:32:57 |
last_update | 2018-03-06 13:32:57 |
depth | 2 |
children | 0 |
last_payout | 2018-03-13 13:32:57 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 101 |
author_reputation | 285,192,678,959 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 42,627,565 |
net_rshares | 0 |
와우 좋은 내용이네요~~ 저도 한번 해봐야겠네요~ 이오스 스마트컨트랙이라니~~ ㅎㅎ 가입 글에도 남겼지만~ 글은 50:50으로 쓰세요~ 무조건 이득입니다. 개발자이신 만큼.. 스팀에도 한번 관심가져보세요. 짱 좋습니다 ㅎㅎ
author | happyberrysboy |
---|---|
permlink | re-modolee-eos-smart-contract-1-eos-20180305t175942429z |
category | kr |
json_metadata | {"tags":["kr"],"community":"busy","app":"busy/2.4.0"} |
created | 2018-03-05 17:59:45 |
last_update | 2018-03-05 17:59:45 |
depth | 1 |
children | 1 |
last_payout | 2018-03-12 17:59:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 124 |
author_reputation | 314,484,142,656,697 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 42,432,974 |
net_rshares | 603,719,028 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
modolee | 0 | 603,719,028 | 100% |
관심있게 봐 주셔서 감사합니다. 도움이 되는 내용 올리도록 노력하겠습니다. 스팀도 차근차근 알아가 보려고요 ㅋ
author | modolee |
---|---|
permlink | re-happyberrysboy-re-modolee-eos-smart-contract-1-eos-20180305t222511548z |
category | kr |
json_metadata | {"tags":["kr"],"app":"steemit/0.1"} |
created | 2018-03-05 22:25:15 |
last_update | 2018-03-05 22:25:15 |
depth | 2 |
children | 0 |
last_payout | 2018-03-12 22:25:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 61 |
author_reputation | 285,192,678,959 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 42,476,395 |
net_rshares | 0 |
개발자분들 응원합니다.
author | xiian |
---|---|
permlink | re-modolee-eos-smart-contract-1-eos-20180305t234052601z |
category | kr |
json_metadata | {"tags":["kr"],"app":"steemit/0.1"} |
created | 2018-03-05 23:40:54 |
last_update | 2018-03-05 23:40:54 |
depth | 1 |
children | 1 |
last_payout | 2018-03-12 23:40:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 12 |
author_reputation | 6,247,053,396,304 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 42,487,253 |
net_rshares | 597,589,900 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
modolee | 0 | 597,589,900 | 100% |
응원 감사합니다! ^^
author | modolee |
---|---|
permlink | re-xiian-re-modolee-eos-smart-contract-1-eos-20180305t235250751z |
category | kr |
json_metadata | {"tags":["kr"],"app":"steemit/0.1"} |
created | 2018-03-05 23:52:54 |
last_update | 2018-03-05 23:52:54 |
depth | 2 |
children | 0 |
last_payout | 2018-03-12 23:52:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 12 |
author_reputation | 285,192,678,959 |
root_title | "[EOS] Smart Contract 개발 준비 1 - EOS 노드 설치" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 42,489,002 |
net_rshares | 0 |