블록체인&Web3

AIchemy로 Sepolia 사용하기

mmalmmizal 2025. 1. 7. 20:09

Sepolia

이더리움 생태계 전용 테스트넷으로, 이더리움 가상 머신 (EVM)을 기반으로 한다.

이더리움이 PoW ⇒ PoS로 변화하면서 기존의 롭스텐(Ropsten) 테스트넷들이 아닌 새로운 테스트넷들이 등장했다.

  • 테스트 이더 받기

테스트넷 포셋 : 웹3 앱과 블록체인 개발자에게 무료 테스트넷 화폐를 제공하는 서비스

https://ethereum.stackexchange.com/questions/163271/how-to-get-sepolia-test-ether-from-testnet-faucet-without-eth-balance-in-metamas/163272#163272

 

How to get SEPOLIA TEST ETHER from TESTNET FAUCET without ETH balance in METAMASK account

I tried to get SEPOLIA TEST ETHER from various TESTNET FAUCETS. But all of them require minimum ETH balance in my METAMASK account. I dont have any ETH balance in METAMASK. I tried. https://www.alc...

ethereum.stackexchange.com

https://cloud.google.com/application/web3/faucet/ethereum/sepolia

 

Ethereum Sepolia Faucet

Get free Sepolia ETH to deploy smart contracts, debug transactions, and experiment on testnet.

cloud.google.com

 

Faucet에서 테스트 이더를 받으려고 하니 Ethereum 메인넷에 ETH가 존재해야 한다는 것이다.. 

업비트에서 0.02 ETH를 출금해서 MetaMask에 넣어줬다. 

 

 

  • truffle에서 Aichemy 이용하여 sepolia 테스트넷 연결하기

Infura 또는 AIchemy같은 제공자의 API URL을 이용하여 Sepolia 네트워크에 연결할 수 있도록 설정을 변경해야 한다.

 

또한 @truffle/hdwallet-provider 패키지를 설치한다.

npm install @truffle/hdwallet-provider

 

Aichemy에서 프로젝트를 생성하고 Sepolia 네트워크 API URL을 얻는다.

 

//truffle-config.js

const HDWalletProvider = require("@truffle/hdwallet-provider");
const dotenv = require("dotenv");

dotenv.config();

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*", //connect to any network
    },
    sepolia: {
      provider: () =>
        new HDWalletProvider(
          [process.env.MNEMONIC], // Private Key
          `https://eth-sepolia.g.alchemy.com/v2/${process.env.AICHEMY_PROJECT_ID}`
        ),
      network_id: 11155111, //Sepolia 네트워크의 id
      gas: 5000000,
      gasPrice: 20e9,
    },
  },
  contracts_directory: "./contracts/",
  contracts_build_directory: "./truffle_abis",
  compilers: {
    solc: {
      version: "0.8.13",
      optimizer: {
        enabled: true,
        runs: 200,
      },
    },
  },
};

 

Metamask 계정의 private key와 AIchemy project API를 환경변수로 관리한다.

 dotenv 패키지를 설치해주면 Node.js 환경에서 .env파일을 사용할 수 있다. .env파일은 프로젝트 루트에 위치해야 한다.

npm install dotenv

 

//.env
MNEMONIC=""
AICHEMY_PROJECT_ID=""

 

//truffle-config.js

const dotenv = require("dotenv");

dotenv.config();

module.exports = {

};

 

또한 truffle 배포할 때 네트워크 이름을 명시해주어야 한다.

truffle migrate --reset --network sepolia