[이더리움/Foundry] Permit ERC2612 서명값(ERC712) 가져오기

2026. 4. 26. 05:52·블록체인
(uint8 v, bytes32 r, bytes32 s) = vm.sign(privateKey, digest);
// Permit 내에 구현된 해시 (그대로 사용해야 함 )
bytes32 permitTypeHash = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");


address spender = 0x;
uint256 value = 1; // 1 wei
uint256 nonce = contractInstance.nonces(owner); // 서명 재사용 방지, ERC20Permit을 상속하는 contractInstance 메소드
uint256 deadline = block.timestamp + 1 hours;

bytes32 digest = keccak256(
  abi.encodePacked(
    "\x19\x01", // 고정
    contractInstance.DOMAIN_SEPARATOR(), // 서명 재사용 방지, ERC20Permit을 상속하는 contractInstance 메소드
    keccak256(abi.encode(permitTypeHash, owner, spender, value, nonce, deadline))
  )
);

(uint8 v, bytes32 r, bytes32 s) = vm.sign(digest);
  • Foundry 사용 시 사실상 PrivateKey를 알고 있기 때문에 ECDSA 서명을 만들 수 있음 => vm.sign()
  • 서명 함수 리턴 값인 v r s 를 가지고 ecrecover, ECDSA.recover, permit() 등에 넣어서 서명을 검증 할 수 있음
저작자표시 비영리 변경금지 (새창열림)

'블록체인' 카테고리의 다른 글

이더리움 롭스텐(Ropsten) 테스트넷 채굴하기 with RTX3090 GPU  (0) 2022.03.22
이더리움 트러플(truffle) is not a function  (0) 2022.03.22
이더리움 롭스텐(Ropsten) 테스트넷 이더 받기 (Faucet)  (0) 2022.03.22
'블록체인' 카테고리의 다른 글
  • 이더리움 롭스텐(Ropsten) 테스트넷 채굴하기 with RTX3090 GPU
  • 이더리움 트러플(truffle) is not a function
  • 이더리움 롭스텐(Ropsten) 테스트넷 이더 받기 (Faucet)
초보 & 뉴비
초보 & 뉴비
보안과 개발(프론트는 좀 약함, 미적 감각 부재 이슈)을 좋아하며 업으로 삼고 있습니다.
  • 초보 & 뉴비
    보안과 그 개발, 그 어딘가
    초보 & 뉴비
  • 전체
    오늘
    어제
    • 분류 전체보기 (350) N
      • 인공지능 (12) N
        • OpenClaw (6)
        • Hermes (5) N
      • 옵시디언 (1)
      • 도커&쿠버네티스 (4)
      • NAS(시놀로지&헤놀로지) (1)
      • 클라우드 (2)
      • IoT (1)
        • SmartThings (1)
      • 블록체인 (4) N
        • CryptoZombies (0)
      • Webhacking.kr (62)
      • Lord_of_SQL-Injections_I (27)
      • DVWA (0)
      • Root-Me.org (0)
      • Pwnable.kr (6)
      • HackerSchool_FTZ (20)
      • CodeEngn_Basic (20)
      • CodeEngn_Advance (0)
      • Lord_of_BoF_Redhat (1)
      • Lord_of_BoF_FC3 (5)
      • io_smashthestack (6)
      • n00bs CTF Labs (1)
      • Machine Learning (25)
        • Tensorflow (3)
        • PyTorch (18)
        • Visualize (4)
      • Kali 2.0 & Metasploit (16)
        • Windows Hacking (5)
        • Linux Hacking (0)
        • Malware (3)
        • ETC (8)
      • Fuzzing (2)
      • Windows (1)
      • Linux (4)
      • Android (2)
      • Android_Vuln (26)
      • 익스플로잇 (12)
      • 모의해킹 (4)
        • 워드프레스 (4)
      • SQL Injection (1)
      • System Hacking(OS) (5)
        • Shellcode (5)
      • Buffer OverFlow (9)
      • Reversing (44)
        • Lena's Reversing Tutorial f.. (41)
        • 이것 저것 (3)
      • ===== 번역 ===== (0)
      • primalsecurity.net (14)
        • Python Tutorials (14)
      • securityxploded.com (1)
        • IDA Pro (1)
      • 개인 정리 (11)
        • Burpsuite (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

    • 정보보안 관련 포스팅 주의사항
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
초보 & 뉴비
[이더리움/Foundry] Permit ERC2612 서명값(ERC712) 가져오기
상단으로

티스토리툴바