공부 내용 정리

ethers.js로 스마트 컨트랙트 읽고, 쓰기

blockchoin 2025. 7. 21. 17:34

1. provide

  • 이더리움 JSON-RPC 서버 (Ganache)와 연결하기 위한 객체
  • const provider = new ethers.JsonRpcProvider('http://127.0.0.1:7545');

2. signer

  • 내 지갑 (프라이빗키)으로 트랜잭션을 보내기 위한 객체
  • const privateKey = process.env.PRIVATE_KEY || ''; export const getSigner = () => { return new ethers.Wallet(privateKey, provider); };

3. contract

  • 배포된 스마트 컨트랙트에 연결된 인스턴스
  • export const getContract = () => { return new ethers.Contract(contractAddress, abi, getSigner()); };
  • address: 배포된 컨트랙트 주소
  • abi: 컨트랙트 함수 정의 (배포 시 생성됨)
  • signer: 트랜잭션을 보내기 위한 지갑 정보

4. 제공되는 전체 함수 

함수 이름 트랜잭션 필요 여부
positiveNumber() 저장된 양수 가져오기 ❌ (읽기)
negativeNumber() 저장된 음수 가져오기 ❌ (읽기)
isActive() 활성화 여부 가져오기 ❌ (읽기)
wallet() 지갑 주소 가져오기 ❌ (읽기)
recipient() 수신자 주소 가져오기 ❌ (읽기)
fixedData() 고정 문자열 데이터 가져오기 ❌ (읽기)
dynamicData() 동적 문자열 데이터 가져오기 ❌ (읽기)
currentState() 상태 값 가져오기 ❌ (읽기)
getDynamicDataLength() 동적 데이터 길이 확인 ❌ (읽기)
getDetails() 여러 값 한 번에 가져오기 ❌ (읽기)
setPositiveNumber() 양수 저장 ✅ (쓰기)
setNegativeNumber() 음수 저장 ✅ (쓰기)
toggleActive() 활성화 상태 변경 (토글) ✅ (쓰기)
setState() 상태 값 변경 ✅ (쓰기)
setWallet() 지갑 주소 저장 ✅ (쓰기)
setFixedData() 고정 문자열 데이터 저장 ✅ (쓰기)
setDynamicData() 동적 문자열 데이터 저장 ✅ (쓰기)

'공부 내용 정리' 카테고리의 다른 글

NFT 마켓플레이스 구축  (1) 2025.07.22
DEX란?  (0) 2025.07.21
컨트랙트로 계산기 만들기  (3) 2025.07.21
유니온 파인드란?  (0) 2025.07.21
wagmi란?  (0) 2025.07.18