Todo :
0. 코드 수정 & 재배포
1. MetaMask
2. UI 연동 및 사용
3. 다음에 할 내용 :
UI 기능에 맞춰서 코드를 일부 수정(추가)한 부분
function currentReward(address to) external view returns (uint256) {
if (staked[to] > 0) {
uint256 blocks = block.number - lastClaimedBlock[to];
return (blocks * rewardPerBlock * staked[to]) / totalStaked;
} else {
return 0;
}
}
= 현재 리워드 확인하는 기능 추가
function faucet(uint256 amount) external {
_mint(amount, msg.sender);
}
= 테스트를 위해 mint함수를 실행하는 기능 추가
export default buildModule("MyTokenDeploy", (m) => {
const myTokenC = m.contract("MyToken", ["MyToken", "MT", 18, 100]);
const tinyBankC = m.contract("TinyBank", [myTokenC]);
m.call(myTokenC, "setManager", [tinyBankC]); //추가
return { myTokenC, tinyBankC };
});
= TinyBank 가 MyToken의 매니저가 되도록 설정(?)
(교수님이 추가하라고 주신 코드들임..m.call이 뭔지 더 찾아보기..)
이전 글 배포 부분이랑 동일하게 실행해주었다.
참고 : 13. kaia (실제 블록체인 네트워크)에 배포
설치 방법 참고 : 디지털 지갑 [메타마스크(MetaMask)] 설치 방법 - 아난티
Web3와 Web2의 차이점 중 하나..
비밀번호 복구 가능 = 인증정보를 서비스 제공자가 가지고 있다 (Web2)
비밀번호 복구 불가능 = 서비스 제공자에게 내 인증정보가 없다 (Web3)
단, seed를 (내가 알아서) 가지고 있으면 계정백업이 가능하다..
seed = 비밀 복구 구문
참고 : 시드 문구(비밀 복구 문구)란? - Ledger Academy

이런 식으로 비밀 복구 구문을 보여준다~
어차피 저 계정에 아무것도 없어서 걍 보여줘도 될 것 같은데....
참고 : MetaMask 비밀번호에 대한 설명 - MetaMask

url :
kaia Docs > 레퍼런스 > Public JSON RPC Endpoints 페이지
Testnet (Kairos) Public JSON-RPC Endpoints 중에서
https://public-en-kairos.node.kaia.io 동일하게 사용
chainID :
kaia Docs > 노드 > 서비스체인 > 빠른시작 > kairos에 연결하기 > 7단계: SCN 구성 후 kscn 재시작
1001로 사용하면 된다고 나옴

UI 링크 : https://tinybank.vercel.app/
TinyBank 배포한 주소를 넣고,
MetaMask의 내 계정을 연결해준다.


1) approve 실행

2) transferFrom 실행

3) 

Staking 완료
근데 왜 리워드가 3일까... 교수님꺼는 더 작던데...?
저 UI 직접 만들어보기.