Ultimate magazine theme for WordPress.
BTC
$3,996.02
-0.01%
ETH
$138.86
-1.2%
LTC
$59.93
-2.28%
DASH
$92.76
-1.85%
XMR
$52.14
-1.18%
NXT
$0.03
0%
ETC
$4.47
0%
DOGE
$0.00
-0.33%
ZEC
$55.00
+0.36%
BTS
$0.05
0%
DGB
$0.01
-12.09%
XRP
$0.32
-1.16%
BTCD
$10.04
PPC
$0.51
0%
CRAIG
$0.00
XBS
$2.00
0%
XPY
$0.01
0%
PRC
$0.00
0%
YBC
$777.60
0%
DANK
$0.00

Infura 사용해보기

139


Infura가 무엇이며 Infura는 왜 사용하면 좋은가?

Dapp를 로컬 환경에서 개발할 때는 보통 Truffle에서 제공하는 ganache나 truffle develop을 사용하거나, geth로 private network를 구성해서 사용합니다. 로컬 환경에서 개발이 완료되었다고 판단되면 테스트넷 환경에서 실행 및 테스트를 해봐야 합니다.

아래와 같은 글을 참고하여 테스트넷에 직접 풀 노드(full node)를 띄운 후에 실행 및 테스트를 해볼 수도 있습니다만…

fully sync 하기 위해서 저장공간 및 시간도 필요하고, AWS나 GCP에 인스턴스들을 띄워서 해야 하는데 돈도 들고 관리도 해야하고… 이것저것 번거로운 일들이 발생하겠죠? DApp을 위한 인프라만 신경쓰기도 복잡하니까요…

이에 대한 해결책으로 Infura를 사용할 수 있습니다. Infura를 사용하게 되면 다음과 같은 장점들이 있습니다.

  • Accessibility (minimal hardware requirements)
  • Convenience (no waiting to sync; no installs)
  • Redundancy (either build into the gateway service or switch to new endpoint)
  • Security (signing without a web-connection)

간단히 말해서 Infura가 책임지고 이더리움 노드를 제공할테니, 제품/서비스에 집중하라는거죠. 이는 Infura의 미션에도 잘 나타나 있습니다.

Our mission is to provide the world with secure, stable, fault tolerant and scalable Ethereum and IPFS nodes.

Infura 역시 Consensys에 속한 프로젝트 중 하나입니다. (Consensys에는 infura 말고도 다양한 프로젝트가 속해 있으며 metamask, truffle도 역시 Consensys의 프로젝트입니다. 자세한 건 여기서 확인해 보실 수 있습니다.)

Infura 사용해보기

Infura (https://infura.io) 에 접속한 후, 먼저 회원가입을 해야 합니다.

이름과 이메일, 비밀번호만 입력하면 됩니다.

이메일 인증을 하고 나면, 다음과 같은 화면을 볼 수 있게 됩니다.

“START TOUR” 버튼을 클릭하여 화면이 어떤 식으로 구성되어 있는지 살펴보도록 합니다.
아무 프로젝트도 없는 상태입니다. 그러면 새 프로젝트를 만들어보도록 하겠습니다.
TEST라는 이름의 프로젝트를 만들었더니 바로 API KEY가 생성되었습니다.
컨트랙트의 주소를 추가하여 화이트리스팅할 수도 있습니다. 아직 이용해보지는 않았습니다.
넷별로 각각 엔드포인트를 제공하고 있음을 알 수 있습니다.

API KEY와 API SECRET 그리고 ENDPOINT를 각각 복사합니다. Truffle을 사용하고 있다고 가정을 하고, 프로젝트 내에서 truffle.js를 다음과 같이 세팅하면 됩니다.

우선 ropsten, rinkeby만 infura 노드로 연결하도록 했습니다.

이후부터는 Infura 노드를 통해 메인넷이나 테스트넷을 이용할 수 있게 됩니다.

참고로 Infura Status에 들어가면 각 넷별로 Infura 노드의 상태를 실시간으로 확인할 수 있습니다. +버튼을 클릭하면 JSON-RPC, REST, Websocket API로 나눠서 상태를 확인할 수 있고, 각 넷의 응답 시간도 확인할 수 있습니다.

Status를 보면 최근 24시간 내에 stable 함을 확인할 수 있습니다.

Infura를 사용할 때 알아야 할 점들(?)

Infura는 거의 장애가 발생하지 않습니다. response time도 거의 항상 일정하고요. 그러나 가끔씩 어떤 이슈가 발생할 수 있습니다 (예를 들면 얼마 전의 콘스탄티노플 하드포크 이슈가 있겠죠…)

평소에는 ropsten에서 잘 테스트했는데 계속 안 되서 혹시나 하고 구글링을 했더니, 잠시동안 ropsten 말고 다른 테스트넷을 사용하라는 트윗을 발견할 수 있었습니다…

혹시나 모를 상황에 대비하여, SUBSCRIBE TO UPDATES 를 클릭하여 이메일이나 핸드폰 번호를 등록하여 이슈가 생겼을 때 notification을 받는 것도 좋습니다. (전 콘스탄티노플 하드포크 사건 이후로 SMS를 받을 수 있도록 등록해놨습니다.)

이메일 보다는 SMS를 바로 확인할 듯 하니까요.

그리고 아래 그림에서 볼 수 있는 것처럼 실제로는 계정마다 하나의 풀 노드를 제공하는 것이 아니라, 풀 노드들 앞에 로드 밸런서가 있는 방식입니다.

Boomerang 이라 불리는 INFURA 아키텍쳐입니다.

DApp에서 이더리움에 여러 번의 트랜잭션을 발생시키게 된다면(Oraclize를 사용하는 것이 바로 그 예가 되겠네요), 전자의 트랜잭션을 만든 노드와 후자의 트랜잭션을 만든 노드가 다를 수 있습니다. 그래서 이벤트를 watch할 때는 HTTP REST API 대신 Websocket API를 쓰는 것이 좋습니다. (이건 저 역시 작업중이라 테스트 하는대로 추가로 적도록 하겠습니다.

마지막으로

  1. 아직까지는 무료로 Infura를 사용할 수 있는데, 이게 언제까지 계속될지는 모르겠습니다. 계속 무료이면 좋을텐데 말이죠… 그리고 IPFS 노드도 제공하는데, 이건 IPFS를 좀 사용해보고 나서 이용해보도록 해야겠습니다. (추후에 포스팅하도록 하겠습니다.)
  2. Infura 블로그도 있으니 관심있는 분들은 읽어보시길. 글도 몇 개 안되니까요 🙂
  3. 작년 6월 9일에 열렸던 제 12회 서울 이더리움 밋업에 Infura 담당자가 와서 발표했던 슬라이드를 첨부합니다. (한 번 쓱 읽어보시면 좋을 듯 합니다.)

[ad_2]

Source link

You might also like

Leave A Reply

Your email address will not be published.