현재 미디엄 대신 개인 블로그 운영중입니다 더많은 블록체인 개발정보를 얻으실 수 있습니다.
=> 블록체인 개인블로그
기본적으로 이더리움에 대한 인터페이스는 여러가지가 있습니다. 개발자라면 흔히 알고있는 MIST와 MyEtherWallet, MetaMask가 있고 그 외에 Infura,Parity 등이 이더리움 인터페이스로써 제공되는 플랫폼 입니다.
일반사용자를 위한 이더리움 인터페이스가 나오고 있긴하지만 처음 사용하기에는 어렵다는 것이 안타깝습니다. 인터페이스만 봐도 아직 갈길이 멀다는 것이 느껴지죠. 저는 보통 MIST, MetaMask와 Infura라는 인터페이스를 사용하였습니다. 때문에 이 3가지를 위주로 포스팅하겠습니다.
먼저 이더리움은 3가지의 네트워크로 나누어집니다.
메인네트워크(Main Network), 테스트네트워크(Test Network — Roptsen, Rinkeby), 프라이빗네트워크(private Network — local) 모든 이더리움 인터페이스는 이 3가지를 제공하고 있습니다.
- MetaMask
메타마스크는 크롬 내장 프로그램입니다. 오직 크롬을 통해서만 프로그램을 실행시킬 수 있습니다. 우선 한국어로 되어있어 사용하기 굉장히 편리한 점이 장점입니다. 한국어로 되어있는 인터페이스가 한정적이다보니 MetaMask는 접근성이 좋습니다.
메타마스크는 이처럼 네트워크를 선택해서 계좌를 관리할 수 있습니다. 여기서 제일 중요한건 개인키에요. 즉 실제 DAPP개발이나 이더리움을 전송하거나 관리할 때 개인키는 정말정말 중요합니다!
<장점>
우선 쉬운 접근성이 가장 큰 장점입니다. 계좌를 생성하거나 관리하는데 있어 크롬만 키면 사용할 수 있고 처음사용하는 사람들에게도 쉽게 접근 할 수 있다는 점이 가장 큰 장점입니다.
<단점>
개인키가 메타마스크 프로그램에 내부적으로 관리되고 있습니다. 즉 메타마스크가 해킹될 수 있는 여지가 있는 것이죠. 보통 MyEtherWallet의 다른 플랫폼은 개인키를 개인이 보관하고 있기 때문에 개인만 잘 보관한다면 문제가 되지 않습니다.
=> 구글에 메타마스크라고 치면 바로 크롬을 통해 설치 가능
- MIST
MIST는 이더리움 계좌 관리 뿐 만 아니라 스마트컨트랙트도 작성하여 올릴 수 있는 인터페이스 입니다. Mist는 이더리움을 처음 접하는 분에게 가장 좋은 인터페이스라고 생각합니다. 기본적으로 Geth와 연결되어 있어 Geth에서 수행하는 모든 명령어들을 인터페이스화 해놓은 듯 합니다.
Mist는 다른 인터페이스와 다르게 스마트컨트랙트를 작성해 볼 수 있습니다. Solidity언어를 이용해 스마트컨트랙트를 작성할 줄 안다면 누구나 MIST를 통해서 블록체인에 올릴 수 있습니다.
그 외 Remix(https://remix.ethereum.org/) 를 통해서도 가능하지만 계좌관리를 하면서 컨트랙트를 작성한다는 점은 이더리움 개발 입문자에게 굉장히 좋은 인터페이스 같습니다.
<장점>
당연 이더리움 블록체인 입문자에게는 쉽고 좋은 인터페이스 입니다. 컨트랙트의 이해와 송금등의 기능을 사용할 수 있습니다. 한국어를 지원해서 접근성도 좋습니다.
<단점>
단순 이더리움을 접근하고 컨트랙트를 작성하기에는 좋은 툴이지만DAPP을 개발하기에는 무리가 있습니다. 때때로 테스트넷에 붙는 속도가 느려 기다려야 하는 문제가 있습니다.
- INFURA
Infura는 DAPP개발자들을 위한 플랫폼입니다. Dapp 개발자들에게 MainNet과 TestNet에 대해서는 Geth를 통해 콘솔로 접근하고 개발하였습니다. 실제로도 그렇게 개발을 하기도 하고요. 하지만 Infura는 API KEY만으로도 메인넷과 Test Net에 접근이 가능합니다.
INFURA를 로그인하면 화면에서 보이시는 것 처럼 APIKEY와 해당 ENDPOINT를 제공해 줍니다. 실제로 이더리움 네트워크에 따라서 ENDPOINT 주소를 사용하면 됩니다. INFURA는 따로 API를 제공하고 있으며 그에 따라 여러 조작이 가능한 것으로 보입니다.
이처럼 https://ropsten.infura.io/v3/APIKEY를 사용하면 Web3 객체에서 블록체인 Ropsten객체를 사용할 수 있습니다. 이는 Infura가 제공하는 APIKEY를 사용하는 것이며, Nodejs에서 손쉽게 사용이 가능합니다.
실제 개발을 하다보면 Private와 Test,Mainnet 개발이 많이 달라요. 이에대한 포스팅은 차차 진행하도록 하겠습니다.
맨 밑에 privateKey에는 우리가 MetaMask에서 저장한 개인키를 넣으면 됩니다.
<장점>
개발자들에게 굉장히 좋은 툴이라고 생각합니다. API KEY를 제공함으로써 쉽게 접근이 가능하도록 하였습니다.
<단점>
개발자들을 위한 툴이기에 Wallet 기능에 대해서는 크게 유용하지 않습니다. 또한 제공하는 api에 대한 기능의 장점을 크게 느끼지 못했습니다.
- MyEtherWallet(MEW)
현재 모바일로 나와있는 최초의 Wallet입니다. 안타깝게도 안드로이드는 지원하지 않아 직접 설치하고 지갑과 계좌를 만들 수 없었지만 IOS 앱이 현재 출시되어있고 이를 통해 인증 및 관리를 하고 있습니다. 모바일로 사용할 수 있다는 점이 특히 장점이며 사용자 친화적으로 웹보다는 모바일이 더 눈에 띕니다.
그리고 다양한 언어를 지원함으로써 지갑으로써의 입지를 다지는 가장 유용한 인터페이스입니다.
보통 뮤라고 불리는 이더월렛은 현재 투자자들에게도 많이 사용되고 있는 지갑입니다. ERC20토큰을 전송하고 저장할 수 있기때문이죠. 컨트랙트 및 트랜잭션 상태도 볼 수 있어 많은 기능을 가지고 있는 인터페이스입니다.
(MEW에 대해서는 실제 사용해보지 않았고 깊게 알지 못하기 때문에 장단점을 적지 않겠습니다. 인터페이스의 외관이나 주관적인 생각 등 실제 사용한 사람들의 이야기를 듣고 적은 것이기 때문에 이에 따른 관점이 다를 수 있다는 점 이해부탁드립니다.)