본문 바로가기

BlockChain Developer/Public Blockchain

(14)
[Solidity - 가스비최적화] unchecked - Unchecked라는 오버플로우 및 언더플로우 검사를 실행하지 않도록 강제하는 메소드. - 0.8.0 버전 이전까지는 OpenZeppelin의 safeMath를 통해 오버플로우 및 언더플로우 연산을 적용해 수행하도록 했으나, - 0.8.0 버전 이후로는 Solidity 컴파일러에서 오버플로우 및 언더플로우 검사가 자동으로 포함. **그래서, 확실한 값에 대하여 오버플로우 검사를 수행하지 않으면 가스비용 최적화에 도움이 된다.
[Solidity] Function Selector Function Selector란 '함수서명'이라고도하며 '함수의 식별자'다. 통상 ABI안에 포함되어있음. 이는 이더스캔에서 "Method ID"로. Function Selector는 함수 Byte Data 첫 4Byte에 저장. - 아래 두가지 방식으로 취득 가능. - 아래 방식으로 주로 사용.(여기서 첫번째 있는 부분이 Selector ) (bool check, bytes memory data) = address.call( abi.encodeWithSignature("함수명(변수타입)",매개변수값) ); (bool check, bytes memory data) = address.delegatecall( abi.encodeWithSignature("함수명(변수타입)",매개변수값) ); - msg.va..
Hashed Time Lock Contract (HTLC) [HTLC 정의] Hashed TimeLock Contract(HTLC) 란, 계약에 일정 시간의 제한을 거는 Time Lock과 일정한 해시 값 제시가 필요한 Hash Lock을 결합한 형태의 Smart Contract로 주로 On-Chain Atomic Swap에서 채택할 수 있는 이기종 네트워크 간 토큰 스왑 방식의 컨트랙트다. [Example] [Security Risk] 1. BOB이 Secret을 노출시켰을 때 → 수령인이 지정된 상태의 컨트랙트이기에 안전하다. 2. LockedTime이내에 TokenSwap이 이루어지지 않을 경우 → 비상출금함수로 CA에 토큰이 묶이지 않는다. 3. BOB이 ALICE의 토큰을 lockedTime 직전에 출금해 Alice는 BOB의 토큰을 출금할 수 없는 경..
공동소유 NFT (Fractional NFT) [Fractional NFT 정의] → Fractional NFT는 ‘분할 NFT’ 또는 ‘공동 소유권 NFT’ 다. ERC-721 모델에 따라 한 개의 대체 불가능한 토큰을 ERC-20 기술을 함께 사용하거나 또는 ERC-1155 모델을 사용해 분할 소유권을 만든 NFT다. (아래 그림 참조) 마켓 플레이스는 Fractional.art Home , OpenSea OpenSea, the largest NFT marketplace, Unicly 등이 있다. [Fractional NFT (ERC721) + ERC 20 을 통한 공동소유권 NFT] → ERC 721로 메타버스 내 부동산이 있다고 가정해보면, 이 부동산의 이름으로 ERC-20 Token을 일정 수량 발행한다. (아래 예시에서는 100개) → 이..