Category Archives: Release Note

Smallet Connector

대부분의 이더리움 Dapp들은 메타마스크를 표준처럼 사용하고 있다. 즉 결제를 하고 그 결과를 기다리고 하는 작업들을 일반 지갑으로 할 경우 편리성이 떨어져서 실제 운영이 어렵기 때문이다. Dapp을 사용하지 못한다면 이더리움을 구해서 고작 거래소에서 사고 팔고 하는거 말고는 할 것이 별로 없다. 그러니 지갑은 필수적으로 DApp을 지원해야 한다.

그래서 이더리움 스몰렛에서 메타마스크와 호환되는 결제 기능을 만들어 보기로 하였다. 메타마스크는 web3라는 개체를 웹페이지에 삽입하는 방법을 사용한다. 웹 프로그램은 이 개체가 있으면 메타마스크가 있다고 보고 web3에 붙은 API들을 사용하는 것이다.

메타마스크 소스에서 대부분의 UI를 다 없애고 실제 결제 부분을 안드로이드 앱으로 통신하여 앱에서 실제 결제 행위가 이루어지 지도록 하는 것이 구현의 핵심이다.

만들어진 크롬 확장프로그램은 여기에서 설치하면 된다. 스몰렛 커넥트라고 이름 지었다.

설치가 되면 아이콘을 눌러서 팝업을 연다.

   

Connet to Smallet 버튼을 누르면 그림과 같이 QR 코드가 나오는데 이더리움 스몰렛 앱에서 메뉴>지갑접속을 해서 이 QR 코드를 읽는다. 접속이 되면 아래 화면과 같이 계좌번호, 디바이스 이름 등이 나타난다.

모든 준비가 되었다. 이제 Dapp을 실행하여 실전을 해볼때다. 현재 어느정도 활성화된 Dapp은 거래소, 도박, 게임 정도이다. Dapp 종류들은 https://dappradar.com/ 에서 찾아 볼 수 있다. 사용자수나 거래 대금등으로 순위를 매겨서 볼 수 있다. 아직 거래소나 도박 외에는 별로 활성화된 DApp이 없음을 알 수 있다.

https://www.blockasino.com/ 에서 바카라 비슷한 게임을 해보자.

주사위 3개를 던져서 합계를 가지고 결정되는 도박이다. 그림과 같이 원하는 판에다 이더를 걸면된다. 중앙의 3개가 같은 숫자가 나오는 부분에 걸지 않는다면 세개가 같은 숫자가 나오면 하우스가 먹는 방식이다. 그림은 SMALL에다 0.03 이더를 베팅한 경우이다. SMALL은 세개의 주사위 합이 4~10 사이로 나오면 두배를 먹게 된다. 3개가 같은 숫자가 나오는 경우를 제외하면 기대값은 100%이다.

“PLACE BET!” 버튼을 누르면 이더리움 스몰렛 앱에 결제 요청이 오면 모든 실행이 제대로 되고 있는 것이다. 결제를 해주면 그 다음은 알아서 돌아간다. 블록체인에 기록되는데 시간이 걸리므로 한참 기다려야한다. 오래 기다려도 안되면 etherscan.io에서 본인 계정을 확인해 보면 진행상황을 알 수 있다.

이더를 소비하지 않고 테스트를 해보는 방법은 메시지 사인을 보내 보는 것이다. https://smallet.co/contracts2/#/sign-message 에서 테스트로 해 볼 수 있다.

모바일 브라우저에서도 가능한데, 크롬은 모바일 버전에서 확장프로그램을 지원하지 않으므로 크롬 확장 프로그램을 지원하는 Yandex 브라우저를 설치해서 해 볼 수 있다.

도박이니 만큼 절대 많은 돈을 걸지 않도록 주의 한다. 특히 하우스가 떼가는 수수료가 적으것 같지만 반복적으로 베팅할 경우 상당히 큰 금액이라 장기적으로 플레이 하면 당연히 돈을 다 잃게 되어 있다. 컨트랙트에 의해 움직이는 도박은 반칙은 없다. 즉 하우스가 나를 속이지는 않지만 컨트랙트 자체의 룰이 장기적으로 플레이어가 돈을 다 잃는 구조로 되어 있다는 점을 잊어서는 안된다. 거의 모든 가상화폐 도박장이 동일하다. 많은 이더리움 도박장들이 1% 정도의 수수료가 싸다고 하지만 주식이나 가상화폐 거래 수수료가 불과 0.0x % 대인것을 감안하면 매우 비싼 것이다.

10분만에 나만의 ERC20 토큰 발행하기.

앱설치하는 시간 포함 12분 안에 컨트랙트를 생성해서 토큰 발행을 해 보겠습니다. 준비물은 안드로이드 폰입니다. 이 데모는 Ropsten Testnet을 이용했지만 mainnet에서도 거의 다르지 않을 것입니다. 자 그럼 시작해 보겠습니다. 동영상을 선호 하시는 분들은 이 포스팅 끝에 전과정을 담은 동영상이 있으니 참고 하시기 바랍니다.

 

위 사진과 같이 구글플레이 가서 “smallet” 검색하여 “이더리움 스몰렛”을 설치합니다.

 

이더리움 스몰렛을 실행하면 위 화면과 같이 “키 볼트”를 설치 하도록 안내합니다. 키 저장소와 지갑앱이 분리된 이유는 나중에 따로 설명 하겠습니다. 우선은 안내대로 설치를 합니다.

 

처음으로 이더리움 스몰렛을 실행하면 위 화면과 같이 “마스터 시드가 없음” 안내가 나오고 다시 키 볼트를 실행하게 됩니다. 키 볼트에서 패스워드를 입력하면 새로운 마스터 시드를 생성하게 됩니다. 키 볼트는 BIP39 기준에 따라 마스터시드를 이용하여 지갑 키들을 생성하게 됩니다.

 

키 볼트에서 지갑키 생성은 자동으로 됩니다. 이더리움 스몰렛으로 화면이 돌아올때까지 잠깐만 기다리면 됩니다. 이더리움 스몰렛은 네가지 이더리움 네트웍을 지원합니다. 그 중에서 Ropsten Test Network을 선택합니다. Ropsten Test Network을 선택하면 화면 상단 우측에 수도꼭지가 나타납니다. 이것을 누르면 테스트용 이더 한개를 전송 받게 됩니다. 참고로 테스트용 이더는 하루에 한개씩 신청 할 수 있습니다. 신청을 하고 조금 기다리면 이더가 들어옵니다. 입금은 자동으로 갱신되지 않으니 화면을 아래로 당겨서 갱신을 하거나 화면 하단 우측 책읽은 사람 아이콘을 클릭합니다.

 

이더가 들어왔으면 컨트랙트 탭으로 이동하여 “토큰 만들기” 버튼을 터치 합니다. 위 화면처럼 원하는 토큰 심볼, 이름, 소수점 자리수를 입력하고 “생성” 버튼을 누릅니다.

화면이 다시 이더리움 탭으로 자동으로 이동됩니다. 토큰 생성에 필요한 모든 입력이 완료되어 있으므로 “사인&전송” 버튼을 누릅니다. 화면처럼 사인을 할 경우 키 볼트 앱으로 다시 자동으로 넘어가서 거기서 사인을 합니다. 모든 프라이비트 키는 키 볼트가 보관하기 때문입니다. “거래승인”을 누릅니다.

 

거래를 전송하고 블록체인에 기록이 될때까지 기다립니다. 화면과 같은 “전송완료” 안내가 나올때까지 기다립니다. 통상 1분안에 됩니다. “확인”을 누릅니다.

 

위 단계에서 블록체인상 토큰 컨트랙트 생성은 마무리 되었지만 편리를 위해서 지갑에 생성된 토큰과 컨트랙트를 추가하는 과정이 자동으로 진행됩니다. 토큰을 추가하고 컨트랙트도 추가 합니다. 따로 입력할 내용은 없이 모두 자동으로 입력 됩니다. 이제 토큰을 발행해 봅니다. 컨트랙트 탭으로 갑니다.

토큰을 받을 주소를 클립보드에 미리 넣어 둡니다. 데모에서는 현재 계정으로 받기 위해서 좌측 상단 메뉴에서 “받을 주소”를 선택하여  현재 본인 계정을 복사해 두었습니다. 컨트랙트 탭에서 “My First Token” 컨트랙트를 선택합니다.(아마도 이미 선택되어 있을 것입니다.) 컨트랙트 이름 우측의 책읽는 아이콘을 터치 하면 위 화면과 같이 아래쪽에 컨트랙트가 제공하는 함수들이 나열됩니다.

그중에서 “mint”를 선택합니다. mint를 터치하면 위 화면과 같이 토큰을 받을 주소와 수량을 입력하게 됩니다. 수량에 “0” 엄청 많은데, 컨트랙트 생성시 소수점을 18로 줬기 때문에 토큰 1개를 보내려면 “0”을 18개 입력해야 합니다. 위 예제는 1,000개를 보내는 경우 입니다. “0”이 21개입니다. 입력이 다 되었으면 “사인”을 터치 합니다. 컨트랙트 생성때와 마찬가지로 다시 “이더리움” 탭에서 전송하고 사인하고 하면 됩니다.

토큰 탭으로 가보면 토큰이 들어와 있는 것을 확인 할 수 있습니다. 1,000개씩 두번을 보내서 2,000이 되었네요.

이 데모에서 사용된 계정에 대한 정보는 아래 이더스캔 링크에서 모두 보실 수 있습니다.

https://ropsten.etherscan.io/address/0xdAF41A6D6CAA5a2353cc24158C30519c7a36a79a

보시면 이미 소스코드 확인이 모두 되어 있어 소스코드까지 다 보입니다. 따로 확인을 하지 않아도 이렇게 되는 이유는 나중에 다른 기회에 설명을 드리겠습니다.

전과정을 동영상으로 담았습니다.

 

 

이더리움 스몰렛 베타 테스터 신청 안내.

이더리움 스몰렛은 스몰렛 네트웍스에서 앞으로 나올 다양한 가상화폐 지갑 중에서 가장 먼저 발표되는 것입니다. 스몰렛은 하나의 키 보관소 앱(스몰렛 키 볼트)이 다양한 가상화폐의 키를 한 곳에서 보관하고 지갑 앱들이 이를 공유하는 개념입니다. 모든 가상화폐 키를 하나의 마스터 키에 의해서 관리하는 것을 목표로 하고 있습니다.

베타 테스트에 참가 하는 테스터 여러분들 중 1,000분을 선발하여 SILC재단에서 배포하는 SILC 토큰을 1,000개씩 드릴 예정입니다. 활동이 활발하신 분들께는 더 많은 SILC 토큰을 배포할 예정입니다.

테스터 참가 방법은 다음과 같습니다.

우선 아래 링크 두개를 눌러서 베타 테스터 신청을 합니다. 두개의 앱으로 구성되어 있으므로 반드시 둘다 신청해야 합니다.

키 볼트 베타 테스터 신청

이더리움 스몰렛 베타 테스터 신청

신청이 완료되면 아래 링크로 들어가거나 구글 플레이에서 “스몰렛”을 검색하여 이더리움 스몰렛을 다운 받습니다. 알파 테스트나 기타 이유로 이전 버전이 설치된 분들은 앱을 모두삭제하고 다시 설치하시기 바랍니다. 삭제전에 마스터 시드를 백업 하는것을 잊지 마세요.

구글 플레이 이더리움 스몰렛 다운로드

 

설치 후 이더리움 스몰렛을 실행하면 위 화면과 같이 키 볼트 설치 안내가 나옵니다.  확인을 눌러서 설치 페이지로 이동하여 스몰렛 키 볼트를 설치 합니다.

설치 후 다시 이더리움 스몰렛으로 돌아오면 위 화면과 같은 메시지가 나옵니다. 스몰렛 키 볼트에 아직 마스터 시드가 생성되지 않았기 때문에 마스트 시드를 생성하라는 메시지입니다. “실행”을 눌러서 스몰렛 키볼트를 실행 합니다.

 

스몰렛 키 볼트 화면은 붉은색입니다. 필요시 키볼트로 이동할때가 있으므로 어느 앱에 있느지 확인 하는데 좋습니다. 이 화면에서 패스워드를 입력하고 “새 마스터 시드 생성”을 누르면 새로운 12단어의 마스터 시드가 생성됩니다. BIP39 표준의 마스터 시드를 가지고 있으면 “마스터 시드 가져오기” 버튼을 눌러서 가져 올 수 도 있습니다. 베타 테스트 동안은 새로 생성한 시드를 사용하시기를 추천 합니다.

생성된 마스터 시드는 안전한곳에 반드시 보관하시기 바랍니다. 베타 테스트에 사용된 이 마스터 시드에서 생성된 주소로 SILC 토큰이 배분 되므로 절대 잃어 버리면 안됩니다.

“마스터 시드 백업 완료”를 누르면 첫번째 이더리움 계정이 생성되고 이더리움 스몰렛 앱이 다시 열립니다.

앱이 열리면 상단의 탭 바로 아래에 있는 “Main Network”를 눌러서 “Ropsten Test Network”로 바끕니다. 그 다음 “컨트랙트 탭을 누릅니다.

컨트랙트 탭으로 가면 기본으로 “SILC Test Contribution”이라는 컨트랙트가 선택되어 있습니다. 이 스마트 컨트랙트는 Ropsten Test Network에 존재하는 스마트 컨트랙트로 이곳에서 테스트용 SILC 토큰을 받게 됩니다. “SILC Test Contribution” 우측의 “전송” 버튼을 누릅니다.

 

그러면 위 화면과 같이 다시 이더리움 탭으로 돌아오면서 받을 주소에 컨트랙트 주소가 자동으로 입력 됩니다. 이제 이 SILC Test Contribution 스마트 컨트랙트로 이더를 전송해야 하는데 이더가 없습니다. 그러니 Faucet에 가서 이더를 받아와야 합니다. 화면 우측 상단의 수도꼭지를 누릅니다. 그림 과 같이 “1 ether 요청에 성공하였습니다” 메시지가 나오면 곧 1 이더가 현재 계정으로 입금 됩니다. 요청은 24시간에 한번씩만 가능합니다.

이더가 들어오면 수량에 0.1 이상을 쓰고 “사인 & 전송” 버튼을 누릅니다.

 

“사인 & 전송” 버튼을 누르면 위 화면과 같이 키 볼트에서 사인을 하게 됩니다. “지불확인”을 누릅니다. 전송이 완료되면 아래쪽에 전송되었다는 메시지가 나옵니다. 메시지를 터치하면 etherscan.io에서 최종 전송 결과를 확인 할 수 있습니다.

전송이 잘 되었으면 “토큰” 탭으로 갑니다. 토큰 탭에서 “시가총액 순 500개 토큰 검색”을 누릅니다. 화면처럼 SILCTEST 토큰이 들어와 있으면 성공입니다. 이 테스트 토큰을 받으신 분들에게 베타테스트 마감시에 실제 SILC토큰을 드리게 됩니다.

스몰렛 월렛을 기반으로 하는 SILC 에코시스템에 대한 기여 행사도 테스트가 진행중입니다. 자세한 사항은 아래 링크를 참고 하세요.

SILC Contribution