튜토리얼: 이더리움 블록체인 개발 (3)

3부: 실제 테스트 네트워크인 Ropsten Testnet에 계약을 배포합니다.



The purpose of building this blog is to write down the detailed operation history and my memo for learning the dApps.
If you are also interested and want to get hands dirty, just follow these steps below and have fun!~



이전 블로그



시작하기



이전에는 테스트 React 앱을 localhost에 배포했으며 MetaMask Wallet을 통해 로컬로 트랜잭션도 수행했습니다.

이 블로그에서는 React App을 실제 테스트 네트워크에 배포해 보겠습니다. 우리가 할 수 있는 많은 플랫폼이 있으며 그 중 하나는 Ropsten Testnet 입니다.



먼저 이더리움의 대표적인 "블록 익스플로러"로 알려진 Etherscan을 보아야 합니다. 본질적으로 사용자가 이더리움 분산 스마트 계약 플랫폼[1]에서 거래를 조회, 확인 및 검증할 수 있는 검색 엔진입니다.

Ropsten Ethereum Faucet을 사용하여 테스트하고 테스트 넷 계정으로 테스트 ETH를 보냅니다.


다음으로 MetaMask 네트워크를 Localhost8545에서 Ropsten Test Network로 전환해 보겠습니다.



테스트 네트워크와 상호 작용할 방법이 필요합니다. 자체 이더리움 노드를 실행하고 싶지 않고 실제로 할 수 있는 것은 API가 제공할 수 있는 서비스를 사용하는 것이라고 가정합니다. INFURA은 우리가 사용할 것입니다:



자신의 INFURA 계정에 가입하고 PRODUCT Ethereum으로 새 프로젝트my-react-dapp를 만드십시오.





다음으로 PROJECT ID 바로 옆에 있는 작은 클립보드를 클릭하여 프로젝트 ID를 복사하고 ENDPOINTS를 ROPSTEN으로 변경하고 SAVE CHANGES를 클릭합니다.



다음으로 코드를 찾아 networks 블록 바로 아래에 있는 hardhat hardhat.config.js 파일에 구성을 추가해 보겠습니다.

module.exports = {
  solidity: "0.8.4",
  paths: {
    artifacts: './src/artifacts',
  },
  networks: {
    hardhat: {
      chainId: 1337
    },
    ropsten:{
      url:"",
      accounts:[]
    }
  }
};


ENDPOINTS(INFURA)의 첫 번째 줄을 복사하여 url에 붙여넣습니다.



다음으로 MetaMask 확장을 클릭하고 세 개의 점을 클릭한 다음 계정 세부 정보를 클릭하여 계정 이름을 TestRopstenAccount로 변경합니다(선택 단계).





그런 다음 새 계정 이름 영역을 클릭하여 계정 주소를 클립보드에 복사하고 Ropsten Ethereum Faucet 웹 페이지에 붙여넣고 Send me test Ether 를 클릭합니다.





불행히도 위에 표시된 것처럼 수도꼭지에서 내가 그레이리스트에 있다는 메시지를 받았습니다. 새 MetaMask 계정 생성도 작동하지 않았습니다.

이 문제를 Google에서 검색하고 마침내 이 수도꼭지를 방문하여 0.01 ETH를 얻었습니다.





그리고 실제로 여러 번 요청하면 더 많은 것을 얻을 수 있습니다. 이는 부지런한 작업이어야 합니다. 0.04 ETH로 충분할 수 있습니다.



다음으로 다음 코드를 accounts:[]에 추가해 보겠습니다.

accounts:[`0x${process.env.ACCOUNT_KEY}`]


이제 module.exports 파일의 hardhat.config.js 블록
다음과 같아야 합니다.

module.exports = {
  solidity: "0.8.4",
  paths: {
    artifacts: './src/artifacts',
  },
  networks: {
    hardhat: {
      chainId: 1337
    },
    ropsten:{
      url:"https://ropsten.infura.io/v3/2df236f3f6db4b8c91a9b77784655f98",
      accounts:[`0x${process.env.ACCOUNT_KEY}`]
    }
  }
};


다음으로 현재 계정에 대한 MetaMask 개인 키를 알아보겠습니다. 계정 세부 정보를 클릭하고 개인 키 내보내기를 클릭하고 비밀번호를 입력하고 개인 키를 복사합니다.






다음으로 터미널로 이동하여 다음 명령을 실행해야 합니다.

vi ~/.zshrc


그리고 다음 명령어를 추가합니다. 아래에 표시되는 문자열 대신 자신의 개인 키를 붙여넣어야 합니다.

export ACCOUNT_KEY="YOUR_PRIVATE_KEY_074998977f72a021"


스크린샷 참조:



다음 명령을 사용하여 환경 변수를 설정합니다.

source ~/.zshrc 


우리는 다음 단계로 갈 준비를 해야 합니다. 이제 다음 명령을 실행하여 Ropsten Testnet에 네트워크를 배포해 보겠습니다.

npx hardhat run scripts/deploy.js --network ropsten


npx에서 다음 메시지를 받아야 합니다. 이는 해당 주소에 계약을 성공적으로 배포했음을 의미합니다! 이 주소를 복사합니다.


이제 Etherscan으로 이동하여 계약 주소를 Ropsten Testnet Explorer에 붙여넣고 계약 세부 정보 및 거래 세부 정보를 볼 수 있습니다.







이제 MetaMask 계정을 확인하면 가짜 ETH 값이 변경되었음을 알 수 있습니다. 즉, ETH의 일부를 계약 배포에 사용했다는 의미입니다.



정말 멋진!

참고문헌



[1]
https://ca.finance.yahoo.com/news/etherscan-080428243.html?guce_referrer=ahr0chm6ly93d3cuz29vz2xllmnvbs8&guce_referrer_sig=aqaaanuba3c5pce4dkkswdfpeftvfhj9pdnxnj81vylerkan57b5sp1clg1uaoezjtmijv7djxrn7yf3r0ii4wxxuu8yt5txrgndiytxau_xmn02rqdgmbe3u21o9n9bjrocqzcuqz6ux_z5gektxwaxq_ulf4sk9lsfpgkjp8dstfwz

좋은 웹페이지 즐겨찾기