Solidity 3

업그레이드 가능한 contract (Proxy)

있는 기술을 배우지 않는 것은 죄악이다 왜냐면 재배포하느라 너무 고생했다 - vvalvvizal-스마트계약 업그레이드Proxy 패턴스마트 계약이 주소를 변경하지 않고도 업데이트될 수 있도록 하는 디자인 패턴Ritesh Nikhoriya Understanding Proxy Patterns in Solidity: A Developer’s Guide delegatecall 다른 컨트랙트 어카운트의 code를 사용하되, storage는 기존 컨트랙트 어카운트를 사용하는 호출방식컨트랙트 A의 delegatecall()은 external 컨트랙트 B가 A의 storage를 수정하는 것을 허용한다.즉 A가 B의 코드를 실행하면서도 A의 storage를 변경할 수 있다. fallback() 만일을 위해 대비된 함수로,..

Solidity 2025.04.03

ERC-5192 실습 : SBT (Soul Bound Token)

ERC-5192 이란?https://eips.ethereum.org/EIPS/eip-5192#copyrighthttps://it-timehacker.tistory.com/455 ERC-5192: Minimal Soulbound NFTsMinimal interface for soulbinding EIP-721 NFTseips.ethereum.org ERC-5192는 ERC-721을 기반으로 만들어졌으며 ERC-721의 기능을 상속한다.여기에 ERC-5192는 전송이 불가능하다는 특성이 존재한다.  생성시에 잠금 여부를 한번 정하고 SBT면 잠김 상태로 모든 컨트렉트가 그 이후에는 작동을 하고 잠금 상태가 아니라면 일반적인 NFT처럼 작동을 하는 모델 Locked 여부Locked와 Unlocked 이벤트  ..

Solidity 2025.02.25

Solidity의 event와 로그 저장

이벤트event스마트계약에서 특정한 상태 변화나 동작이 발생했을 때 이를 알리기 위해 사용되는 기능이다. 클라이언트는 이 이벤트를 통해 스마트 계약에서 발생하는 특정 변화를 감지하고 반응할 수 있다.이벤트는 상속 가능한 계약 멤버event는 다른 계약에서 상속받아 사용 가능트랜잭션 로그 저장이벤트 발생시, 이벤트와 함께 전달된 인자들이 트랜잭션 로그에 저장됨. event 키워드로 선언하며, argument를 받을 수 있는데 선언할 때 variable의 이름을 명시할 필요는 없다. indexed 라고 명시된 argument는 특별히 topics라고 불리는 indexed table(hash table)에 저장되어 나중에 event를 쉽게 찾을 수 있다.event Updated (address indexed ..

Solidity 2024.12.18