비쥬얼스튜디오(visual studio)로 이더리움 솔리디티(sol) 코드 개발하기 원래는 일반적으로 이더리움 솔리디티 즉 sol파일의 개발시 remix를 사용합니다. 리믹스는 브라우저 솔리디티로 말그대로 크롬 등의 브라우저에서 스마트컨트랙트 개발이 가능하게 해주는 IDE입니다. 그러나 한글깨짐과 가독성에 대한 문제가 있어서 코딩시에는 좀 불편한 점이 있는 것은 사실입니다. 그리고 사실 멋도 없기도합니다. 간지가 안나기 때문에 비쥬얼 스튜디오 코드라는 것을 사용해줍니다. 우선 비쥬얼스튜디오 대신에 우리는 Visual Studio Code를 사용하기 때문에 구글에서 검색하셔서 우선 설치를 진행하여 주시기 바랍니다. 비쥬얼스튜디오 코드란 무엇이냐면 그냥 간단한 코드 편집기라고 생각하시면되겠습니다. 설치를 끝..
이더리움 솔리디티 geth 사설서버 가동하기 .json파일 geth에서는 공용 이더리움 블록체인 서버는 물론이고, 개발자들을 위한 이더(요금, 가스)가 들지 않는 환경인 사설 이더리움 네트워크를 가동할 수 있도록 제공하고 있습니다. 원래는 DApp배포시 일정 현금을 내야하지만, 올리기 이전에 사설 네트워크에서 여러가지 테스팅을 진행해본 뒤에 올릴 수 있습니다. 그래서 이번 글에서는 사설 네트워크를 어떻게 구축하는지 알아보겠습니다. 사설 네트워크를 만들어 주기위해서는 genesis block 즉 가장 상위 블록을 먼저 만들어 주어야합니다. 최초블록이라고도 하는데 당연히 최초블록이 있어야 다음 블록들이 연결되면서 이어지게될 수 있겠죠. 그리고 최초이기 때문에 prev(이전)블록은 존재하지 않습니다. 이러한 ..
이더리움(Ethereum) - ERC20 토큰, ERC721 표준 (다중상속) 이더리움에 관심이 좀 있으신 분들은 ERC20 토큰에 대해서 들어보았을 것입니다. ERC20이란 이더리움에서 정해진 공통적인 매서드를 가진 스마트 컨트랙트입니다. 즉 전송, 잔액확인 등의 매서드(함수,function)들을 오버라이딩해서 사용하게 됩니다. 사실 토큰은 그저 하나의 contract에 불과하기 때문에 해당 컨트랙트에서 누구는 몇개의 코인을 가지고있는지를 저장해 놓는 것 뿐입니다. 그리고 전송기능과 같은 함수를 통해서 코인을 전송하거나 등의 기능을 하게되는 것이죠. 예를 들어서 거래소에서도 토큰과 통신할 contract를 만든뒤에 그 contract로 전송을받고 고객들의 잔액을 관리하게 되는 것이죠. 또 ERC20표준..
솔리디티(solidity) - 난수 랜덤 생성(keccak256, random) 이번 글에서는 솔리디티(solidity) 개발언어에서 난수(랜덤수)를 생성하는 방법을 알아보도록하겠습니다. 솔리디티에서는 랜덤한 수를 생성할 때 해시함수를 사용해서 난수를 만들게됩니다. 캐깍(keccak256)은 SHA256의 해시를 생성하게되는데 내부테 위 예시 코드와 같이 now(현재시간, 저번 포스팅참고)와 msg.sender 그리고 1씩 증가하는 Nonce를 넣어주어서 해시를 발생시키게됩니다. 이 때 %100을 해주어 0부터 99까지의 랜덤한 숫자를 발생시키게됩니다. 이는 uint형으로 형변환을 해줌으로써 우리가 사용할용도에 맞게 가공해서 사용할 수 있습니다. 그러나 이러한 방법은 블록체인상에서 보안상 안전하지 않고 ..
이더리움(Ethereum) Gas, 가스 사용료 줄이기를 위한 압축 이더리움 Dapp에 우리가 만든 함수를 다른 사람들이 이용하려면 그 사람들은 Gas(가스)를 지불해야한다. 가스란 일종의 연료로 이더리움(Ethereum)으로 구매해서 사용하게된다. 이러한 가스는 함수의 로직(구조)가 얼마나 복잡한 지에 따라서 지불 비용이 달라지게된다. 즉, 많은 연산을 수행해야하는 구조의 복잡한 함수는 더 많은 양의 가스(gas)가 필요하게되고, 간단한 함수는 그 양이 적을 것이다. 하지만, 최적화가 되지않은 함수에 대해서도 가스가 더 많이 지불 될 수 있으니 이더리움 컨트랙트 개발에서는 최적화가 필수라고 할 수 있다. 그래서 기본인 압축을 알아보려고한다. uint 8, 16, 32, 128, 256 일반적으로 uin..
솔리디티(solidity) 생성자, modifier, import, 상속 솔리디티는 이더리움의 스마트컨트랙트 개발용 언어로 이더리움만의 자체 언어입니다. 스마트계약에서 그리고 이더리움네트워크 에서 돌아간다는 것 빼고는 다른 언어와 별 다른 차이점이 없지만, 알아야하는 문법은 존재합니다.생성자 위는 생성자 예시입니다. Ownable이라는 컨트랙트(contract)가 있고 그 이름을 똑같이 가지는 생성자(함수)는 바로 밑에 처럼 function으로 해주며 접근 지정자는 public으로 지정해줍니다. (다른 언어와 다른 점은 접근 지정자를 마지막에 붙여줍니다.) 함수 제어자(modifier) 함수제어자는 함수가 실행되기전에 요구조건을 만족시키는지 확인하는 작업을 해준다. 위에서는 오너와 현재 메세지 보내는 사..
이더리움 시세 꾸준한상승 20180108 오늘은 아마 이더리움의 날이 아닐까 싶습니다. 불과 일주일 전만해도 백만원 대를 유지하던 이더리움이 일주일 사이에 꾸준하게 상승하는 모습을 보며주며 지금은 거의 2백만원 하는 가격으로 거래가 진행되고있습니다. 사실 얼마전에 리플에게 시가총액 2위를 뺐기고나서 풀이죽어있던 이더리움이지만 금세 상승하며 다시 시가총액 2위를 달성하는 모습을 보여주었습니다. 역시 2대장은 이더리움이죠. 그리고 전체적으로 다 한번 씩 코인들이 펌핑을 받고나서 좀 아래에서 다시 조정을 받는 중인 것 같습니다. 조만 간에 다시한 번 조정일 올 수도 있지만, 아마 더 상승할 확률이 더 크지 않을까 생각해봅니다. 사람들이 비트코인과 이더리움 같은 우량코인들은 가격이 비싸서 인지 잘 사지 않는 것..
엄청난 호재 트론개(TRON,TRX dogs) 공개 가격급등 진행중금일 새벽? 어제 밤에 저스틴썬(트론개발자)이 놀라운 트윗을 하나 올렸습니다. 바로 트론 개(강아지)에 대한 것입니다. tron dogs it almost ready. 얼마전 발표 때 트론으로 처음 나오는 게임에 대해서 말을 했는데 그것이 트론개였다니 정말 상상도 하지 못했습니다. 그래서 아직도 이에 반응하는 트윗덧글들이 아주 엄청납니다. 오늘은 무려 바이낸스거래소에서 거래량 2위까지 치고 올라가는 현상을 보였습니다. 그 만큼 트론을 확보하려는 인원이 늘었다는 것 입니다. 도대체 트론개가 뭐길래? 이렇게 반응이 뜨겁냐구요. 사실 원래 이더리움에 있는 게임인 크립토키티라는 것을 모티브로 만든 것 같습니다. 크립토키티란 이더리움이라는 코인으로..
이더리움 클래식 그는 도대체.. (이더리움과 차이점)최근에 주식을 공부하면서 소액투자를 조금씩 하고 있는데,자꾸 비트코인이 눈에 보여서 빗썸을 가입하면 1000원을 준다길래 리플이나 3개 사놀겸 가입했다. 그러던 중에 관심이 더 생겨버려서 소액만 들고 놀아보자하고 나도 비트코인투자에 몸을 싣게됬다.그게 어제였는데, 비트코인이 일주일 남짓 전만해도800만원이었던 녀석이 하루만에 천만원대로 상승하더니 지금은 천백오십만원이 넘어섰다..이말은 일주일전에 800마넌에 1비트를 사놨으면지금 천백오십 즉, 350마넌의 이득이 생기는 것이다. 일주일 그냥 앉아서 몇 백 버는거다. 뭐 그 만큼의 확신이 있어야 투자를 하는 거지만난 학생이고 초기 자본이 무자본이다보니 그냥 구경만 할 수 밖에 없는게 매우 안타깝다.. 설마..