Contract Architecture (EVM)
Last updated
Last updated
EVM 환경에서 유얼스의 컨트랙트 구조를 설명하는 페이지입니다.
유얼스는 NFT 배포를 효율적이고 경제적으로 만들기 위해 EIP-1167: Minimal Proxy Contract 를 적용하고 있습니다. NFT를 매번 생성할 때 새로운 컨트랙트를 배포하는 것은 비용적으로 큰 부담이 될 수 있습니다. 이 문제를 해결하기 위한 효과적인 방법이 바로 Minimal Proxy Pattern 입니다.
이 패턴은 "동일한 로직의 컨트랙트를 대규모로 효율적으로 배포"하도록 설계되었습니다. 유얼스 프로토콜은 이 패턴을 채택함으로써 NFT Deploy 에 관련된 반복적인 비용을 크게 줄일 수 있습니다. 이는 고정된 주소의 컨트랙트에 delegatecall 을 수행함으로써 가능해집니다. 이와 같은 방식은 NFT 배포를 더욱 신속하고 경제적으로 만들어 주어 사용자에게도 큰 이점을 제공합니다.
더 깊이 있는 내용과 구체적인 패턴의 동작 방식을 알고 싶다면, Minimal Proxy Contract 를 확인해보세요.
유얼스의 Integrated NFT는 ERC1155 토큰 표준을 기반으로 설계되어 있습니다. ERC1155는 여러 토큰들을 한 컨트랙트 내에서 관리할 수 있도록 하는 규격입니다. 유얼스의 이러한 특별한 접근법을 통해 개별 NFT의 주소와 ID를 사용하여 여러 NFT를 하나의 통합된 토큰 형태로 결합합니다.
IntegratedNFT 컨트랙트는 Factory 컨트랙트와 밀접한 관계를 가지고 있습니다. Factory는 IntegratedNFT를 생성하고 관리하는 주체로, 통합될 NFT들에 대한 중앙 집중적인 제어 역할을 수행합니다.
Factory 컨트랙트는 통합될 개별 NFT들에게 'Lock' 상태를 부여할 수 있습니다. 이 Lock 상태가 활성화되면 해당 NFT들은 일반적인 작동(예: 전송, 소각)이 제한됩니다. 이 기능을 통해 NFT가 통합 과정 중에 무분별한 활동으로 인한 문제나 오류를 예방할 수 있습니다.
NFT들이 Lock 상태로 전환된 후, 이들은 ERC1155 규격에 따라 하나의 통합된 NFT로 재생성됩니다. 이 통합 NFT는 여러 개별 NFT의 정보와 속성을 포함하며, 각각의 개별 NFT를 대표하는 종합적인 토큰이 됩니다.
ERC1155 규격을 통한 통합은 다수의 NFT를 한 컨트랙트 안에서 관리할 수 있게 하므로, 데이터 저장과 관리 측면에서의 효율성과 경제성을 도모합니다. 또한, 사용자는 여러 개의 NFT를 개별적으로 관리하는 번거로움 없이 하나의 통합된 NFT로 손쉽게 관리할 수 있습니다.