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 |