無知

갈 길이 먼 공부 일기

기술 공부/블록체인

스마트 컨트랙트 (9) | Infura

moozii 2022. 5. 12. 19:32

 

 

The World’s Most Powerful Blockchain Development Suite
CONSENSYS

Infura

- Our suite of high availability APIs and Developer Tools provide quick, reliable access to the Ethereum and IPFS networks so you can focus on building and scaling next generation software.

- Go Ethereum 같은 이더리움 클라이언트를 설치하는 대신 간단히 Ethereum network에 연결해주는 서비스

- DApp을 개발할 때마다 이더리움 클라이트를 설치해야 하는 번거로움을 해결해 주는 서비스

- 간단한 API를 통해서 이더리움의 다양한 네트워크에 쉽게 연결

- 트래픽 분산 용도로도 사용 가능

- 사용하는 레퍼런스: Metamask, CryptoKitties

- https://infura.io/

 

Ethereum API | IPFS API & Gateway | ETH Nodes as a Service | Infura

Infura's development suite provides instant, scalable API access to the Ethereum and IPFS networks. Connect your app to Ethereum and IPFS now, for free!

infura.io

 

The Infura Platform The #1 toolkit for blockchain developers https://infura.io/product/overview

 

사용법

[로컬 호스트 기반 사용법]

1. Infura 가입

2. 새 프로젝트 등록 및 API 키 수령

3. 사용할 이더리움 네트워크를 선택 (예를 들어 Ropsten test network) 해 엔드포인트 확인

4. 트러플 설정

4-1. 월렛 프로바이더 설치

Wallet provider는 truffle이 transaction을 sign 하고 deploy 할 때 사용할 계정을 관리

4-1-1. npm init으로 package.json 생성 (의존성 저장소)

4-1-2. npm install @truffle/hdwallet-provider --save

https://www.npmjs.com/package/@truffle/hdwallet-provider

 

@truffle/hdwallet-provider

HD Wallet-enabled Web3 provider. Latest version: 2.0.8, last published: 11 days ago. Start using @truffle/hdwallet-provider in your project by running `npm i @truffle/hdwallet-provider`. There are 296 other projects in the npm registry using @truffle/hdwal

www.npmjs.com

4-2. 사용할 네트워크 정보를 truffle configuration 파일에 추가

4-2-1. HDWalletProvider의 입력값인 시드를 기반으로 월렛이 프라이빗키를 생성

4-2-2. HDWalletProvider의 또다른 입력값은 앞서 기억해둔 네트워크 엔드포인트

4-3. 환경변수 설정

4-3-1. 니모닉을 환경변수로 설정 (지갑 계정 복구 문구)

4-3-2. 인퓨라 엔드포인트를 환경변수로 설정

4-4. 기타 사전작업

4-4-1. 지갑 내 배포가 가능한 양의 이더가 있는지 확인

5. 트러플 컴파일 + 마이그레이트 (네트워크 옵션 제공)

6. 이더스캔을 통한 배포 확인

 

HD Wallet-enabled Web3 provider.
Use it to sign transactions for addresses derived from a 12 or 24 word mnemonic.

https://github.com/trufflesuite/truffle/tree/master/packages/hdwallet-provider#readme

 

GitHub - trufflesuite/truffle: A tool for developing smart contracts. Crafted with the finest cacaos.

A tool for developing smart contracts. Crafted with the finest cacaos. - GitHub - trufflesuite/truffle: A tool for developing smart contracts. Crafted with the finest cacaos.

github.com

 

 

[호스팅 서버를 통한 배포 - heroku]

1. git 활용을 위해 .gitignore 파일 생성 및 node_modules 디렉토리를 .gitignore에 추가

2. 깃헙 프로젝트 생성 및 푸시

3. 깃헙 코드를 Heroku로 배포

3-1. Heroku 내 앱 생성 + 깃헙 레포, 브랜치 선택

3-2. 배포