develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ
개발
2018-02-12 21:49:29

이더리움과 스마트 컨트랙(1)

안녕하세요. 파이리입니다. 이더리움과 스마트 컨트랙이라는 주제로 글을 써보려고 합니다. 어디까지 쓰게 될지는 모르겠지만, 나중에 묶어서 책이 되었으면 하는 작은 소망이 있네요.
 
이더리움에 대해서는 땡글에 계신 분들에게 굳이 설명을 드리지 않아도 될 것 같습니다. 이더리움을 모르시는 분은 없겠죠. 하지만 저도 그랬던 것처럼 채굴하는 입장에서 굳이 스마트 컨트랙이 뭐고, 어떻게 개발해야 하는지에 대해서는 크게 관심이 없을 수밖에 없죠. 이 글은 채굴하시는 분들에게는 지적 호기심을 충족하는 수단이 될 것이고, 개발에 도전해보려고 하시는 분들에게는 먼저 출발한 사람이 놓고간 표지판 정도로 생각하시면 될 것 같습니다.
 
스마트 컨트랙은 쉽게 생각해서 계약을 코드로 옮겨둔 것입니다. 특정한 조건이 충족되면 계약을 이행하게 해둔 것이죠. 하지만 계약을 코드로 옮기려는 행위는 이전에도 존재해왔습니다. 인터넷 뱅킹이나 공인인증서 같은 것들이 바로 그것이죠. 다들 아시겠지만 블록체인을 이용한 스마트 컨트랙과 이전의 형태의 계약의 근본적인 차이는 분산 원장에 있습니다. 이전의 계약들은 단일 혹은 소수의 DB에 데이터가 저장되기 때문에 한번의 공격으로 무너질 수 있지만, 분산 원장을 해킹하기는 대단히 어렵죠. 증명이나 데이터의 정합성이 중요한 영역에서 블록체인이 떠오르는 이유도 바로 그것입니다.
 
이더리움 네트워크에 스마트 컨트랙을 제출하기 위해서는 solidity라는 언어로 만들어진 스마트 컨트랙을 만들어야 합니다. solidity는 javascript와 C언어를 섞어놓은 것처럼 보이는 묘한 형태인데, 컴파일한 결과를 바이트 코드로 옮겨서 사용하는 것을 보면 java와 비슷한 점도 있습니다. 이 solidity는 대중적인 언어가 아니기 때문에 처음 접하는 개발자들에게는 낯설게 느껴질 수 있습니다. syntax 자체를 익히는데도 약간의 시간이 필요하고, 이더리움 네트워크와 연결지어서 생각해야 하기 때문에 사전지식이 없는 사람에게는 이게 대체 어떻게 돌아가는지 이해하기 어려울 수 있습니다. 저도 물론 그랬고요.
 
개발자들을 가장 괴롭히는 것들 중에 하나는 개발 환경을 구축하는 것입니다. 더구나 뭐부터 구축해야 하는지 모르겠다면 상황은 더 심각해지죠. 아래는 이더리움 네트워크와 통신하고 solidity 언어 환경 구축을 하기 위해서 필요한 것들입니다.
 
 
web3 : 이더리움 자바스크립트 API입니다. 이더리움 네트워크와 통신하기 위해서 사용됩니다.
web3j : 이더리움 자바 API입니다. 
solc : solidity 컴파일러입니다.
 
 
 
그리고
Image.png

 

 
 
truffle : solidity의 빌드부터 테스트, 스마트 컨트랙 등록까지를 도와주는 framework입니다. nodejs 기반으로 사용하실 수 있습니다.
 
사용하실 수 있는 syntax의 폭이 넓지 않거나 이미 javascript에 익숙하신 분이라면 web3와 truffle을 사용하시는 것을 권장합니다. 빌드와 테스트까지 종합적으로 지원하는 framework가 별로 없기도 하고, javascript 하나로 개발 / 테스트 / 사용 환경을 구성할 수 있기 떄문이죠. 다만 이더리움 네트워크와 통신이 실패했을 때와 같은 예외처리가 많이 까다로운 부분이긴 합니다. 이더리움 네트워크 자체가 ICO가 몰린다거나 하면 낮은 gas로는 처리가 안되는 경우가 생기고, web3는 아직도 고쳐지지 않은 자잘한 버그들이 많으니까요.
 
다음에는 이어서 환경 구축에 대해서 보다 자세히 써볼까 합니다.
 
환경구축을 위한 주소
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

222

파이리님의 서명

Blockchainnovation

ERC20 토큰 개발, 암호화폐 지갑 개발, 스마트 컨트랙 개발

댓글 11
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1100 질문 엔트풀 시아주소... 도와주십쇼   *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** ------------------------------------... 6 file 0 589
후덜들
2018.04.26
1099 개발 - -       ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ -------------------------... 2 0 751
ooii12
2018.04.26
1098 개발 ERC20 홈페이지 연동 토큰 제작해주실 분   ERC20 홈페이지 연동 토큰 제작해주실 분 010 - 2069 - 7359 10:00 ~19:00 통화 가능합니다                     ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강... 2 0 934
5105
2018.04.26
1097 질문 - -     ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비트코인 암호화화폐 커뮤니티 땡글~ 땡글~ ---------------------------... 3 0 591
ooii12
2018.04.26
1096 개발 비트코인 거래소, ICO 완벽 개발   안녕하세요   비트코인 거래소, ICO개발 팀장입니다. 고객분들의 요구사항에 따라 완벽하게 개발 및 유지 보수해드립니다.   회신부탁드립니다 감사합니다   email : etorohills@protonmail.co... 1 0 927
트레이딩_MAN
2018.04.26
1095 개발 SMT 토큰 이중지불 해킹에 대한 설명과 대비책   안녕하세요. 온더의 철학자입니다.   SMT라는 ERC20토큰의 토큰 이중지불 해킹이 일어났습니다. 이 해킹건에 대해 설명이 필요한 것 같아 긴급하게 글을 남깁니다.   Ethereum Transaction 0x1... 21 file 41 2906
철학자
2018.04.25
1094 개발 ERC20 토큰 제작 가능한 분     ERC20 토큰 제작 해주실 분 010 ㅡ 2069ㅡ  3027 10;00 ~ 19;00 통화 가능                   ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 ... 1 1 1670
5105
2018.04.25
1093 질문 - 햐7-------- 2 0 676
ooii12
2018.04.25
1092 질문 ETH -> ERC20 오입금 복구 불가능한지 문의드립니다....(절실)   이클300개를 업비트 다른계정에서(보낸지갑 업비트, 받는지갑 업비트) 제 업비트 이클지갑주소로 보낸줄 알았는데요.. 제 업비트 슨트지갑주소로 간거같네요 분명히 전 큐알코드 찍었는데..   ... 3 1 1413
존버ㅠ
2018.04.24
1091 질문 오토핫키 if 에 변수 비교문 하는거에서 막히는데 원인을 모르겟어요 경고온도:=12 글픽로그온도1:=20 글픽로그온도2:=25 글픽로그온도3:=23 글픽로그온도4:=21 글픽로그온도5:=26 글픽로그온도6:=27 글픽로그온도7:=28 글픽로그온도8:=25 글픽로그온도9:=22 글픽로... 17 2 2061
형수
2018.04.23
1090 개발 탈중앙화된 네이버 지식인을 만들었습니다 https://steemit.com/kr/@yunjh1994/xdemi https://github.com/quokki/quokki-whitepaper http://www.quokki.net/   사용방법은 스팀잇 글을 참조해주세요 자유게시판에도 글 올려서 중복이긴 한... 31 15 3704
asdcasc
2018.04.23
1089 개발 마스터카드와 연동하기   안녕하세요..   개발한 코인을 체크카드와 연동하여 누구나 손쉽게 사용하고 싶어 하지 않나요? 저희 회사가 해외 은행과 제휴하여 마스터카드와 연동이 가능한 카드를 출시하였습니다.   카드... 0 700
진짜호호아줌마
2018.04.23
1088 질문 일본 마이닝 풀 사이트들 추천 부탁드립니다       일본 마이닝 풀 사이트 추천 부탁드립니다. 감사합니다                 ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   ... 0 427
트레이딩_MAN
2018.04.23
1087 질문 Mining pool 추천 부탁드립니다   해외 베스트 마이닝 풀 사이트 추천 부탁드립니다.   감사합니다                  ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판... 0 696
트레이딩_MAN
2018.04.23
1086 질문 한 트랜젝션만으로 여러주소로 리플을 보낼 수 있을까요? 안녕하세요. 취미로 리플 지갑 프로그램을 만들어보고 있는데요. 리플에서도 비트코인이나 이더처럼 한 트랜젝션만으로 여러지갑 주소로 코인을 보낼 수 있을까요? 레퍼런스나 리플 트랜젝션들을... 0 448
nelicia
2018.04.23
1085 개발 서울 이더리움 밋업 해커톤 후기     안녕하세요. 초밥매니아입니다.   어제 금요일 오후 2시부터 시작한 이더리움 해커톤이 오늘 아침 8시쯤 끝났습니다. 위 사진은 막 시작하던 때네요. 사진에 제 모습도 나와있습니다 ㅎㅎ   ... 16 file 12 2975
초밥매니아
2018.04.21
1084 개발 오버클럭을 손쉽게! 이지 오버클럭을 릴리즈 합니다. 안녕하세요, 땡글을 통해 여러가지 도움을 얻고 있는 괴발개발 입니다.   애프터 버너는 좀 무겁고, 옵션이 너무많아 다루기가 쉽지 않습니다. 또한, 여러 그래픽카드의 정보를 한눈에 보기 어려... 70 file 73 6565
괴발개발
2018.04.20
1083 질문 트레이딩봇 관련 서버 구입 문의 트레이딩 봇을 구축하여 현재 AWS에 돌리고 있습니다. 비트렉스 거래소 시세를 받아와서 일주일 정도 저장하고 현재 비트렉스 lastprice를 실시간으로받아와서 비교하는 구조입니다. AWS임대보다... 2 0 1164
보쌈만두
2018.04.20
1082 질문 채굴중인 cmd 내용을 txt파일로 저장해서 파싱을 해보고 싶습니다. 올해1월부터 오토핫키에 푹 빠져서 계속 붙어산지 3개월 되었네요.. 채굴기의 해쉬나 온도를 볼수 있는 모니터링을 만들어 보려고 했지만, 초보자에겐 벅차더라구요..ㅠ 아래 사진도 오토핫키 초... 14 file 0 2287
형수
2018.04.20
1081 개발 [TPS에 대하여]     블럭체인이 Scalability문제에 직면하자, TPS수치가 그 블럭체인의 성능지표로 제시되고 있지만, 어떤 기준으로 측정한값인지 공정하게 인정해주는 제3의 기구도 없는 상황입니다.   금융IT... 1 file 1 1337
신피질
2018.04.19
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ