무지개곰
article thumbnail
[Solidity] ERC-2771이란? (ERC-2771Context란?)
BlockChain/solidity 2023. 7. 2. 23:39

openGSN과 openzeppelin의 Defender를 공부하며 user들이 gas fee를 지불하지 않고 사용할 target이 되는 contract에 ERC2771Context를 상속하여 사용하였습니다. ERC-2771은 무엇이고, ERC-2771은 무엇인지 알아보겠습니다. 목차 ERC-2771이란? ERC-2771Context란? ERC-2771은 왜 등장하였는가? 예시 코드 ERC-2771이란? 기존의 사용자가 스마트 계약과 상호작용을 할 때 gas비용을 지불하여야 하기에 gas 비용이라는 진입 문턱이 있었습니다. 하지만 ERC-2771은 가스 비용을 지불하지 않고도 메타 트랜잭션을 수행할 수 있는 방법을 제공하는 스마트 계약의 표준입니다. 이를 통해 사용자는 자신의 지갑에서 가스를 지불하지 않..

article thumbnail
[Solidity] EIP-712란?
BlockChain/solidity 2023. 7. 2. 17:08

OpenGSN과 Openzeppelin의 defender를 공부하며 알게 된 forwarder contract가 EIP712를 상속받고 있는 것을 보았습니다. EIP712는 무엇인지 어떠한 역할인지 알아보도록 하겠습니다. 목차 EIP-712란? EIP-712의 장점 예시 코드 EIP-712란? EIP-712는 Typed Structured Data로 구조화된 데이터에 대한 해싱과 서명 검증을 위한 표준입니다. 이 표준은 메시지 형식을 사전에 정의하고, 이를 해싱하여 고유한 메시지 해시를 생성합니다. 이로써 구조화된 데이터의 무결성을 보장하고, 서명 검증을 통해 메시지의 인증과 권한 부여를 신뢰할 수 있게 합니다. 이러한 검증과 무결성을 이용하기 위하여 forwarder에 상속합니다. EIP-712의 장점..

article thumbnail
[Solidity] ERC20 Permit이란?
BlockChain/solidity 2023. 6. 17. 19:30

approve와 transferFrom이 익숙하지만 비슷한 기능을 해주는 permit이란 것에 대하여 알아보도록 하겠습니다. 목차 ERC20 Permit은 무엇인가? Permit이 가능한 Token 생성 Permit 사용 예시 Permit을 위한 서명 ERC20 Permit은 무엇인가? ERC20 토큰에는 approve라는 Token에 대한 권한을 특정 address에게 승인하는 기능이 있습니다. approve이후에 상대방이 transferFrom을 통하여 나의 토큰을 가져갈 수 있습니다. 이러한 경우 토큰 사용자가 contract에 approve를 해주는 transaction과 승인한 token을 사용하기 위하여 contract의 method를 실행하는 transaction 두 가지의 transacti..

article thumbnail
[Solidity] ERC-1155란?
BlockChain/solidity 2023. 5. 18. 14:59

ERC-1155는 이더리움 블록체인에서 다중 자산을 관리하는 표준입니다. 이 표준은 이더리움 기반의 스마트 컨트랙트를 사용하여 개발자가 게임 아이템, 디지털 자산, 토큰화된 자산 등을 효율적으로 관리할 수 있게 해 줍니다. ERC-1155 표준 ERC_1155는 게임 개발자뿐만 아니라 다양한 분야에서 자산을 토큰화하고 거래할 수 있는 유연한 토큰 관의 표준입니다. 이러한 기능을 구현하기 위하여 아래의 함수가 반드시 포함되어야 합니다. balanceOf(address _owner, uint256 _id) balanceOfBatch(address[] _owners, uint256[] _ids) setApprovalForAll(address _operator, bool _approved) isApprovedF..