가스비 소각 및 인하 안내에서 언급드린 것처럼 5월 중에 Klaytn Baobab과 Cypress 네트워크의 가스비 인하가 적용될 예정입니다. 적용 시점은 First-Come, First-Served (FCFS) 트랜잭션 정렬 알고리즘이 구현된 Klaytn v1.8.3 업그레이드가 각 네트워크에 적용된 이후이며, 소각 정책은 기존과 동일하게 유지됩니다.

 

상세한 변경 내용과 주의사항은 다음과 같습니다.

 

조정된 가스비

  • 250 ston

가스비 소각 정책 (단기)

*단기 정책은 새로운 가스비 소각 메커니즘이 도입될 때까지 유지됩니다.

 

 

가스비 변경 일정

 

Baobab 테스트넷

  • 블록번호: 90,720,000
  • 예상시간: 5월 12일 02시 50분 (UTC+9)

Cypress 메인넷

  • 블록번호: 91,324,800
  • 예상시간: 5월 22일 19시 15분 (UTC+9)

*블록넘버에 해당하는 정확한 예상시간은 네트워크 상황에 따라 변동될 수 있습니다.

 

DApp 개발자 주의사항

  • DApp들은 트랜잭션의 가스비를 250 ston으로 수정하거나 `klay_gasPrice` API의 반환값을 사용해야 합니다. 그렇지 않으면 트랜잭션을 네트워크에 전송할 수 없습니다. 소스코드에 기존 가스비로 하드코딩된 로직이 포함되어 있다면 에러가 발생할 수 있습니다.
  • 가스비 조정이 노드에 반영될 시 트랜잭션 풀은 비워집니다.

MetaMask 사용자 주의사항 (Kaikas 사용자는 해당사항 없음)

질문이나 의견은 Discord Klaytn Forum을 통해 클레이튼 팀으로 문의주세요.

 

 

참조: Klaytn Docs 가이드

 

Connecting MetaMask - Klaytn Docs

그리고, 항상 이 값과 고급 설정을 기본값으로 사용합니다(Always use these values and advanced setting as default) 버튼을 체크하고 저장(Save) 버튼을 누릅니다. 이 버튼을 체크하면, 다음 전송부터는 가스 비

ko.docs.klaytn.foundation

 

 

 

*** 클레이튼(Klaytn) 메타마스크 지갑생성, 네트워크 연결 설정, 가스비 설정

 


https://muritzy.tistory.com/3052

 

*** 클레이튼(Klaytn) 메타마스크 지갑생성, 네트워크 연결 설정, 가스비 설정

Markets by TradingView " data-ke-type="html"> <>HTML 삽입 미리보기할 수 없는 소스 *** 클레이튼 (Klaytn) 의 가스비를 반드시 수정하셔야만 코인 전송에 문제가 없습니다.  Connecting MetaMask Connecting..

muritzy.tistory.com

 

 

[Metamask] 가스 요금 FAQ & 고급 가스 컨트롤 사용

https://muritzy.tistory.com/3081

 

[Metamask] 가스 요금 FAQ & 고급 가스 컨트롤 사용

가스 요금 '가스'가 무엇을 의미하는지, 왜 그것이 중요한지, 그리고 그것을 어떻게 통제할 것인지. 사용자 안내서: 가스 고급 가스 컨트롤 사용 가스 요금 산정 방법 왜 실패한 거래에 대해 주유

muritzy.tistory.com

 

 

 

 

*** 클레이튼 (Klaytn) 의 가스비를 반드시 수정하셔야만
코인 전송에 문제가 없습니다.  

 


Connecting MetaMask

Connecting MetaMask
 
참고: MetaMask는 주로 이더리움 지갑으로서 사용되지만, 동일한 주소 구조를 지닌 Klaytn과도 호환 가능합니다. Klaytn은 브라우저 익스텐션 지갑 Kaikas도 지원합니다. 따라서 Remix를 제외하면 MetaMask와 거의 동일한 기능을 제공합니다.
 

 

1단계: 메타마스크 설치하기

 
  • Chrome 웹브라우저 기준으로 설명합니다. (크롬 설치하기)
  • Chrome 확장 프로그램 탭에서 MetaMask 확장 프로그램을 추가합니다.
    참고: 다른 브라우저를 사용하는 경우 별도 설치가 필요할 수 있습니다.
  • Chrome 검색 바 오른쪽 아이콘을 클릭하면 메타마스크를 실행시킬 수 있습니다.
     

 

2단계: 메타마스크 지갑 생성

Create a Wallet

 

  • [지갑 생성] 버튼을 클릭합니다.
  • 암호를 생성합니다.
  • 12개의 단어로 구성된 시드 구문이 주어지면 이를 안전한 곳에 적습니다.
    참고: 해당 구문을 알아야만 지갑 복구가 가능합니다. 타인에게 노출 시 계정의 자금을 모두 잃을 수 있습니다. 그렇기에 시드 구문은 수기로 적어두거나 외부 연결이 차단된 장치에 기록하기를 권장합니다.
Seed phrase and Wallet
 
 

 

3단계: Klaytn 네트워크 연결

Network Setup and Custom RPC
 
 
Network Setup and Custom RPC
 
 

4단계: 가스비 설정하고 KLAY 전송하기

주의: 다음 단계들은 KLAY를 필요로 합니다.
  • 메인 페이지에서 [Send]를 누르고 수신자 주소 및 전송할 KLAY 수량을 입력합니다.
Send KLAY 1

 

  • 클레이튼은 고정 가스 정책을 사용하기에 이에 해당하는 가스 가격을 설정해야 합니다.
  • Turn on Enhanced Gas Fee UI in Settings를 클릭해서 가스 비용 설정 화면으로 이동합니다.
  • Enable Enhanced Gas Fee UI를 켜기(ON)으로 설정한뒤 닫기(X) 버튼을 눌러 설정창을 닫습니다.
Send KLAY 2
 
  • 다시 KLAY 전송 화면으로 돌아온 뒤, Gas 비용 설정을 시장가격이 아닌 고정가격으로 변경하겠습니다.
  • 시장(Market) 버튼을 클릭하고, 가스 요금 편집(Edit gas fee) 창에서 고급(Advanced) 버튼을 누릅니다.
  • 이후 최대 기본 요금(Max base fee)와 우선 요금(Priority Fee)에 고정 가스 가격을 입력합니다.
    • Baobab 가스 가격: 750, Cypress 가스 가격: 750
  • 그리고, 항상 이 값과 고급 설정을 기본값으로 사용합니다(Always use these values and advanced setting as default) 버튼을 체크하고 저장(Save) 버튼을 누릅니다. 이 버튼을 체크하면, 다음 전송부터는 가스 비용 설정과정을 반복하지 않아도 됩니다.
Send KLAY 3
 

 

Send KLAY 4
 

 

NOTE: KLAY를 보내기 위해서는 트랜잭션을 발생시켜야 하며, 이 과정에서 KLAY가 소진됩니다.
  • 전송할 수량과 수수료를 확인한 후, 확인(Confirm) 버튼을 누르면 KLAY 전송이 완료되고 메인 화면으로 되돌아갑니다.
  • 메인 화면에서 활동(Activity) 버튼을 클릭하면, 방금 전송한 트랜잭션을 조회할 수 있습니다.
Send KLAY 5
 
 
 

Klaytn Baobab 네트워크 - 트랜잭션을 위한 KLAY 충전

참고: 예제는 테스트넷(Baobab)의 Public EN으로 네트워크에 연결하였습니다. 테스트 시에는 Baobab을 사용하세요.
  • [Save]을 클릭하면 Klaytn Baobab 네트워크가 추가됩니다.
Network Setup and Custom RPC
 
  • Klaytn Wallet의 연동 상태를 확인하기 위해서는 송금에 사용될 KLAY가 필요합니다.
  • 우측 상단 아이콘 아래 탭에서 [Account details]를 클릭합니다.
  • [Export Private Key]를 클릭하여 개인 키를 획득합니다.
개인 키 내보내기
 
  • Baobab 테스트넷에서는 Klaytn Faucet을 이용하여 테스트에 필요한 KLAY를 받을 수 있습니다.
  • Klaytn Wallet에서 개인 키를 입력한 후 [Access] 버튼을 클릭해 로그인합니다. (개인 키 앞에 0x를 기입합니다.)
  • [Run Faucet] 버튼을 클릭하세요. 5 테스트넷 KLAY가 전송되고 잔액이 업데이트됩니다. Faucet 기능은 계정당 1일 1회, 24시간마다 한 번씩 실행할 수 있습니다.
계정 로그인과 KLAY Faucet
 
  • 메타마스크로 돌아와 보유 KLAY를 확인합니다.
  • Klaytn Baobab 네트워크의 경우 Step 4를 따르세요.
 

 

 

https://ko.docs.klaytn.com/dapp/tutorials/connecting-metamask

 

Connecting MetaMask - Klaytn Docs

그리고, 항상 이 값과 고급 설정을 기본값으로 사용합니다(Always use these values and advanced setting as default) 버튼을 체크하고 저장(Save) 버튼을 누릅니다. 이 버튼을 체크하면, 다음 전송부터는 가스 비

ko.docs.klaytn.com

 

 

 

올해 연간 카카오 디브콘 if(카카오)2021이 11월 16일부터 3일간 온라인에서 열려 카카오 커뮤니티 곳곳에서 수많은 기술 열풍이 몰아쳤다.GroundX의 개발자들도 이 행사에 참여하여 서로 다른 서비스와 기술에 대한 귀중한 지식을 공유했다.이 게시물에서는 GroundX Klip Drops Dev Lead Colin이 제공하는 NFT Marketplace 프로그래밍에 대한 세션을 소개할 것이다.

NFT의 엄청난 인기는 또한 디지털 아트에 대한 관심을 끌었는데, 이는 기초적인 블록체인 기술이 예술작품의 희소성뿐만 아니라 진품도 신뢰성 있게 검증하고 거래를 안전하게 기록할 수 있게 해주기 때문이다.

그러나 가장 중요한 것은 창작자의 입장에서 볼 때 미술관 같은 중개업자에게 막대한 수수료를 지불하지 않고도 직접 판매에서 받을 만한 것을 얻을 수 있다는 점인데, 이는 문화산업 전반에 긍정적인 시사점을 갖고 있다.나아가 창작자의 작품 전매가격의 일정 비율을 얻을 수 있는 권리인 '로얄티'가 점점 보편화되면서 미술 창작자의 처우가 개선될 것으로 기대된다.

그렇다면 개발자의 입장에서 가장 중요한 요소는 무엇일까?고려해야 할 주요 특징으로는 채굴, 발송, 판매, 그리고 NFT를 선보이는 것이 있지만, 오늘은 프로그래밍 로열티와 NFT 시장에 초점을 맞출 것이다.

로열티

앞서 언급했듯이 저작권 사용료는 창작자가 작품의 판매가격의 일정 비율을 청구할 수 있도록 한다.이는 대부분의 NFT 마켓플레이스에서 구현되는 기능이지만 공통의 표준이 없어 서로 다른 마켓플레이스 간에 로열티가 맞지 않는다.호환 가능한 로열티 표준의 필요성에 대응하여, 이더리움의 ERC-2981 표준이 2021년 7월에 도입되었다.

로열티 표준은 토큰 ID와 판매 가격이 매개 변수로 전달되고 해당 로열티(로열티 금액)가 반환되는 매우 간단한 인터페이스로 구성된다.

그러나 그것은 청구인 1명에 대해서만 규정하고 있으며, 로열티 기준을 가진 기존 NFT가 어떻게 처리될지는 언급하지 않고 있다.

따라서 이러한 문제를 해결하는 로열티 표준이 탄생했으며, 다음과 같은 특징이 있다.

  • 복수의 로열티 청구인
  • 로열티 표준을 포함하거나 포함하지 않는 NFT를 포함하는 게이트웨이 계약
  • NFT 시장에 적용되는 표준

우리는 아래에 좀 더 자세한 내용을 다룰 것이다.

작동 방식

로열티 운영 방식을 단순화하려면:

  1. 시장에서, RutyRouter라고 불리는 게이트웨이 계약은 NFT 로열티를 보유하고 있는 계약의 주소를 검색할 것이다.
  2. 로열티 정보를 탐지한 후 getRoyalty() 함수가 실제 정보를 회수한다.

그러나 여기서는 1) 로열티 계약이 독립적으로 존재하는 NFT와 2) 로열티 표준을 내장한 NFT를 구별해야 한다.전자는 KIP-17 계약과 로열티 계약은 사전에 연계할 것을 요구하고 있다.

NFT와 무관한 로열티 계약

NFT와 로열티 계약이 별개라면 로열티루터 계약의 오버라이드 어드레스()를 통해 연결해야 한다.아래 코드에서 당신은 다음 주소들을 볼 수 있다.nftContract그리고royaltyContract통과되었다.

overrideAddress 프로세스가 끝나면 KIP-17 주소(nftContract)와 로열티 정보를 저장하는 계약주소(로열티계약)와 로열티 정보가 매핑된다.아래 그림에서 인터페이스로부터의 로열티 계약은 로열티인포로서 이행된다.이제 로열티루터 계약의 getRoyality()가 호출되면 KIP-17 계약(nftContract)과 연계된 로열티인포 계약이 발동돼 로열티 데이터를 반환하게 된다.

로열티인포 계약의 인터페이스는 아래와 같다.두 가지 기능에서 여러 명의 로열티 청구인(로열티 리시버)을 지원한다고 쉽게 추론할 수 있다.

NFT에 통합된 로열티

이제 NFT(KIP-17) 계약과 로열티 명세가 통합된 사례를 살펴보겠다.계약 인터페이스는 다음과 같다.

시장에서는 KIP-17+로열티 계약(위의 예시에서는 IKIP17로열티인포)을 촉발하는 로열티루터 계약에서 getRoyality() 함수를 불러 로열티 데이터를 반환한다.

NFT 마켓플레이스

개요

아래는 NFT 시장의 구현이다.

위의 슬라이드를 하나씩 살펴보십시오.Fixed Price Exchange는 NFT가 경매에서가 아니라 정가로 팔린다는 것을 의미한다.다음으로 KIP-7 토큰으로 결제가 이뤄진다고 가정할 때 KIP-7 계약과의 통합도 필요하다.그리고 KIP-17 계약은 클레이튼의 NFT 표준이다.그리고 나서 우리는 앞에서 본 로열티라우터 계약과 환불이 가능하도록 에스크로 계약도 필요하다.

고정 가격 NFT 판매 계약의 인터페이스는 다음과 같다.

getSaleInfo()는 판매자와 가격처럼 판매 정보를 반환하는 기능이다.PutOnSale()을 사용하면 NFT를 세일즈에 올리고, 세일을 취소하면 세일을 취소할 수 있다.마지막 두 가지 기능은 구매와 관련이 있다: buyInKLAY()는 KLAY로 결제하기 위한 것이고 onKIP7Received는 KIP-7 토큰으로 결제하기 위한 것이다.

시나리오

1. 민트 NFT

무엇보다도 먼저, NFT 크리에이터(Minter)가 아래 시각화된 것처럼 NFT를 조폐한다.

2. NFT 판매하기

우리의 NFT를 판매용으로 등록하기 위해서, 이 NFT의 구매자가 그것을 재판매하기를 원한다고 하자.그러나 그 전에 리셀러는 먼저 거래소 계약에 토큰을 보낼 수 있는 권한을 부여해야 한다.이 작업은 KIP-17 계약에 정의된 승인()을 사용하여 수행할 수 있다.이 과정은 NFT가 구매자에게 직접 전송되기 위해 필요하다.

3. NFT 구매

마지막으로, 우리는 NFT를 구매하는 것이 어떤 기능을 하는지 살펴볼 것이다.

  • 구매자는 KIP-7 계약에서 이체()를 호출하고, 이체() 함수를 호출하여 거래소 계약으로 대금을 이체한다.
  • 이에 따라 KIP-7 계약은 거래소 계약에서 onKIP7Received() 기능을 발동하게 된다.
  • 교환 계약은 로열티 라우터 계약을 통해 로열티 정보를 검색한다.
  • 이 정보는 지급과 함께 에스크로 계약에 전달될 것이다.
  • 거래소 계약은 NFT를 구매자에게 이전한다. (승인()을 미리 불러야 한다.)
  • 판매자가 일정 시간이 지난 후 에스크로를 닫으면 대금이 처리된다.
  • KIP-7 계약의 양도() 기능을 통해 판매가격의 일정 비율을 청구인(미네터)에게, 나머지는 판매인에게 전가한다.

이 게시물에서는 로열티와 NFT 시장을 어떻게 구현할 수 있는지 살펴보았다.

오늘 게시물의 전체 프레젠테이션은 이 링크(한국어: NFTs on Klaytn: 채굴부터 판매까지.이 게시물과 세션에서 사용되는 테스트 코드는 아래 리포지토리에서 찾을 수 있다.

https://github.com/kjhman21/klaytn-contracts/tree/royalty-registry

 

이 계약은 MIT 허가를 받았으나 감사를 받지 않았다는 점을 유념하십시오.그것은 상업적 용도에 적합하지 않을 수 있다.

이 게시물에 대해 궁금한 점이나 문의 사항이 있으시면 클레이튼 개발자 포럼에 남겨주십시오.읽어줘서 정말 고맙고 다음 게시물도 계속 봐줘.

[공지] Klaytn SDK caver-js v1.8.0 릴리즈

안녕하세요. 따스한 봄과 함께 caver-js v1.8.0이 릴리즈 되었습니다. 고된 작업으로 얼어 붙은 여러분의 마음을 봄볕 같이 녹여주지는 못하겠지만, 적어도 개발을 더 편리하게 해줄 새로운 기능들을 소개합니다.

아시다시피 클레이튼은 이더리움 동일성을 지원합니다. caver-js v.1.8.0에서는 이더리움 트랜잭션 타입을 지원합니다. 그리고 이 트랜잭션 타입에 사용되는 서명함수도 추가되었어요. klay 네임스페이스 의 API도 더 강력하게 보강했답니다.

# v1.8.0에서 새로워진 것들

클레이튼의 이더리움 동일성 지원의 일환으로 이더리움 트랜잭션 타입을 지원한다고 했었죠? caver에서도 caver.transaction로 이더리움 트랜잭션을 사용할 수 있습니다.

  • EIP-2930에서 소개되었던 TxTypeEthereumAccessList 트랜잭션을 사용하실 수 있습니다. caver.transaction.ethereumAccessList를 통해 TxTypeEthereumAccessList 트랜잭션을 사용할 수 있습니다.
  • [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559)에서 소개되었던 트랜잭션 타입 TxTypeEthereumDynamicFee의 트랜잭션도 이용가능합니다. caver.transaction.ethereumDynamicFee를 통해 TxTypeEthereumDynamicFee을 이용할 수 있습니다.

caver.rpc.klay에 새로 추가된 klay 네임스페이스 API 함수들도 있어요!

그리고 새로 추가된 이더리움 트랜잭션 타입에 사용될 ecsign함수도 있습니다.

  • EthereumAccessList와 EthereumDynamicFee 트랜잭션은 ecsign을 이용해서 ECDSA 서명을 생성합니다. 트랜잭션에 서명할 때는 기존의 사용성과 동일하게 tx.sign이나 caver.wallet.sign 함수를 사용하면 됩니다.
  • 있을 지 모르겠지만, 더 궁금한 분들은 보세요. v에 chainId를 포함하여 서명을 생성하는 기존의 클레이튼 트랜잭션 타입과는 달리, 위의 이더리움 트랜잭션의 서명값 {v, r, s}에서 v는 Secp256k1 곡선의 y좌표의 패리티값이 사용되어야 하는데요(짝수는 0, 홀수는 1), 이러한 이유로 기존 chainId를 포함하는 서명 함수와 별개로 v의 값에 y 패리티 값을 리턴하는 서명함수인 ecsign가 추가된 것이랍니다.
  • 함수는 여기에 있습니다: keyring.ecsign

[공지] Klaytn SDK caver-java v1.8.0 Released

안녕하세요, 자바 개발자님들. 기억해주세요, 자바를 사용하는 당신은 너무 멋집니다. caver-java v1.8.0와 함께 여러분의 개발자 라이프를 조금이라도 편하게 해줄 기능들이 추가되었습니다.

아시다시피 클레이튼은 이더리움 동일성을 지원합니다. caver-java v.1.8.0에서는 이더리움 트랜잭션 타입을 지원합니다. 그리고 이 트랜잭션 타입에 사용되는 서명도 추가되었어요. klay 네임스페이스 함수도 더 강력하게 보강했답니다.

# v1.8.0에서 새로워진 것들

클레이튼의 이더리움 동일성 지원의 일환으로 이더리움 트랜잭션 타입을 지원한다고 했었죠? caver에서도 caver.transaction로 사용할 수 있습니다.

  • EIP-2930에서 소개되었던 TxTypeEthereumAccessList 트랜잭션을 사용하실 수 있습니다. caver.transaction.ethereumAccessList를 통해 TxTypeEthereumAccessList 트랜잭션을 사용할 수 있습니다.
  • EIP-1559에서 소개되었던 트랜잭션 타입 TxTypeEthereumDynamicFee의 트랜잭션도 이용가능합니다.
  • caver.transaction.ethereumDynamicFee를 통해 TxTypeEthereumDynamicFee을 이용할 수 있습니다.

caver.rpc.klay에 새로 추가된 klay 네임스페이스 API 함수들은 caver.rpc.klay에서 사용하실 수 있습니다!

  • caver.rpc.klay.getHeader
  • caver.rpc.klay.getFeeHistory
  • caver.rpc.klay.getMaxPriorityFeePerGas
  • caver.rpc.klay.createAccessList

그리고 새로 추가된 이더리움 트랜잭션 타입에 사용될 ecsign함수도 있습니다.

  • EthereumAccessList와 EthereumDynamicFee 트랜잭션은 ecsign을 이용해서 ECDSA 서명을 생성합니다. 트랜잭션에 서명할 때는 기존의 사용성과 동일하게 tx.sign이나 caver.wallet.sign 함수를 사용하면 됩니다.
  • 있을 지 모르겠지만, 더 궁금한 분들은 보세요. v에 chainId를 포함하여 서명을 생성하는 기존의 클레이튼 트랜잭션 타입과는 달리, 위의 이더리움 트랜잭션의 서명값 {v, r, s}에서 v는 Secp256k1 곡선의 y좌표의 패리티값이 사용되어야 하는데요(짝수는 0, 홀수는 1), 이러한 이유로 기존 chainId를 포함하는 서명 함수와 별개로 v의 값에 y 패리티 값을 리턴하는 서명함수인 ecsign가 추가된 것이랍니다.
  • 함수는 여기에 있습니다:
  • AbstractKeyring#ecsign()
  • SingleKeyring#ecsign()
  • MultipleKeyring#ecsign()
  • RolebasedKeyring#ecsign()

 

https://medium.com/klaytn-kr/%EA%B3%B5%EC%A7%80-kas-sdk-caver-js-java-v1-8-0-%EB%A6%B4%EB%A6%AC%EC%A6%88-83ee778f0273

 

[공지] KAS SDK caver-js/java v1.8.0 릴리즈

[공지] Klaytn SDK caver-js v1.8.0 릴리즈

medium.com

 

+ Recent posts