articles
articles copied to clipboard
[정리] if(kakao) 2021 : Klaytn 관련
Klaytn을 이용하여 NFT 활용하기 : 발행부터 판매까지
클레이튼(Klaytn)
- 그라운드X에서 개발한 블록체인 플랫폼, 이더리움 기반
- 성능 측면 : 매 블록 당 4000 트랜잭션, 블록생성시간 1초
- BFT 컨센서스 알고리즘 도입
- 저렴한 트랜잭션 수수료
토큰 표준이 필요한 이유
클레이튼 계정 체계
- 클레이튼 상에서 다양한 계정이 생성될 수 있음, 사용자 계정일 수도 있고 스마트 컨트랙트 계정일 수도 있음
- 토큰 표준이 존재함으로써 쉽게 호출이 가능함. 누구나 쉽게 사용할 수 있는 스마트 컨트랙트...
- NFT -> KIP-17, KIP-37
NFT 사용자 시나리오
발행전송판매전시- 발행-전송 : KIP-17 함수 사용
- 판매 : 판매자와 구매자가 원하는 가격으로 매매할 수 있는 방법 (추가적인 서비스 레이어 기능 필요)
- 전시 : NFT 정보의 효율적 검색, 나의 NFT 전시 등
NFT 마켓플레이스 요구사항
- 추급권 : 최초 양도 이후 재판매될 때마다 수익의 일정부분 분배, 판매 즉시 추급권 적용
- 판매 방식 : 고정가, 경매
- 결제 수단 : KIP-7, KLAY
- 환불 : 구매 후 일주일간 환불기능 제공
추급권
- 대부분의 NFT 마켓플레이스에서 제공
- 표준화 되어 있지는 않음 (호환성X)
- 이더리움 2021.07.25 로열티에 대한 표준화 정립 진행 (클레이튼에서도 해당 표준에 대한 정립 필요)
다수의 추급권자는 어떻게 할 것인지에 대한 고려 부족
추급권 조회
RoyaltyRouter: 모든 추급권을 조회할 수 있는 컨트랙트, 추급권 조회를 위해 이 컨트랙트만 알면 됨
NFT 마켓플레이스 설계/구현
- 고정값일 때
FixedPriceExchange> 환불 처리를 위한Escrow컨트랙트 필요
NFT 발행
- minter(== 작가)는 서버에게 토큰에 해당하는 미디어, 메타데이터, RoyaltyInfo를 제공
- 서버는 KIP-17 컨트랙트와 로열티인포 컨트랙트에 필요한 함수 호출 -> 새로운 NFT 발행
NFT 판매 등록 (KIP-7)
- 판매등록을 하기 전에 해당 토큰의 전송 권한을 exchange contract에 부여 (approve)
- 판매 등록 (가격과 주소 전달)
NFT 구매
- 구매자가 KIP-7으로 transfer 함수 호출 (판매 대금 전송)
- Received 함수 호출
- 로열티 라우터를 통해 추급권 정보를 얻어옴
- 이 정보를 바탕으로 정산 정보를 escrow에 전달
- exchange 컨트랙트는 판매자로부터 구매자에게 해당 NFT 전송
- 판매대금이 아직 escrow에 예치된 상태이고 일정 시간 후에 transfer가 호출되며 정산 진행
한줄로 구현하는 블록체인 어플리케이션
https://if.kakao.com/session/90
- 이더리움은 가치전송 + 스마트 컨트랙트라고 불리는 코드블록을 블록체인에 올리도록
- 코드블록들은 블록체인 위에서 정해진 규칙에 따라 상호작용
Klip
- 디지털 자산 지갑 서비스, 카카오톡에 탑재
- 클레이는 클레이튼에서 사용되는 화폐
- Klip은 개발자가 사용하는 퍼블릭 API 제공
- SDK > JS, AOS, iOS
Klip App2App
App2App : 서드파티 앱에서 유저 스마트폰 클립 호출, 클립을 통해 블록체인 요청을 보내는 것을 의미
- Prepare : 클립 서버에 블록체인 요청을 보낼 것을 승인받음 (응답값으로 key를 받음)
- Request : 1에서 받은 키를 바탕으로 클립을 띄워 블록체인 트랜잭션 전송
- Get Result : 요청 처리 결과를 받음