Skip to main content

Kip7 토큰 정지권한 관련 질문

Comments

5 comments

  • Permanently deleted user

    [ANSWER]

     

    안녕하세요, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

    A계정이 KAS Wallet API에서 생성한 계정이라면 private key는 KAS에서 관리하고 있습니다.

    KAS Wallet API를 통해 A 계정의 서명을 생성할 수 있으니 토큰 정지를 하실 수 있습니다.

    감사합니다.

    0
  • Permanently deleted user

    답변 감사합니다:)

    그럼 트랜잭션은 어떻게 생성할 수 있나요? caver.kct.kip7.pause 1를 사용하려는데 서명하려면 트랜잭션을 먼저 생성해야 서명할 수 있는 거 아닌가요? 제가 못 찾는 건지 방법을 잘 모르겠습니다.

    0
  • Permanently deleted user

    [ANSWER]

    아래의 코드는 따로 트랜잭션을 생성하여 KAS Wallet API의 계정을 사용하여 서명하고 네트워크에 전송하는 코드입니다.

    만약 트랜잭션만 따로 필요하신 경우에는 아래의 tx를 생성하는 방법을 참고하시면 될 것 같습니다.

    아래의 코드는 caver-js-ext-kas v1.1.2 기준으로 작성되었습니다.

    const kip7 = caver.kct.kip7.create(kip7Address)

    const input = kip7.methods.pause().encodeABI()


    const tx = caver.transaction.smartContractExecution.create({

        from: acct.address,

        to: kip7.options.address, // KIP-7 contract address

        input,

        gas: 10000000,

    })


    const signed = await caver.wallet.sign(acct.address, tx)

    console.log(signed)


    const ret = await caver.rpc.klay.sendRawTransaction(signed)

    console.log(ret)

    caver.kct.kip7의 pause함수를 사용하면 caver-js-ext-kas를 사용하는 경우, 함수 내부적으로 트랜잭션을 생성하고 이를 KAS Wallet API에서 관리되는 계정을 사용하여 서명한 뒤 네트워크에 전송합니다.

    위의 코드는 실제로 아래의 코드와 동일한 동작을 하게 됩니다.

    아래도 동일하게 caver-js-ext-kas v1.1.2 기준으로 작성되었습니다.

    const kip7 = caver.kct.kip7.create(kip7Address)

    const ret = await kip7.pause({ from })

    console.log(ret)

    caver-js-ext-kas를 사용하면 기본적으로 KAS Wallet API를 사용하여 동작합니다.

    0
  • Permanently deleted user

    자세히 설명해주셔서 감사합니다!

    혹시 위에 예시중 const input = kip7.methods.pause().encodeABI() 에 methods 를 이용하는 부분에 대한 설명은 문서 어디서 볼 수 있을까요?

    또 한가지 더 궁금한게 있는데 위에 pause함수를 사용할때 KAS 글로벌 대납기능을 사용해서 수수료를 지불한다면 어떤식으로 수정하면 되나요?

    0
  • Permanently deleted user

    [ANSWER]

     

    KIP7 클래스는 Contract를 상속받아 구현되며, 그러므로 Contract의 기능을 사용할 수 있습니다.

    https://docs.klaytn.com/bapp/sdk/caver-js/api-references/caver.contract#methods-methodname-encodeabi 2

    Contract의 encodeABI 함수에 대한 문서는 여기 있습니다.

    글로벌 대납 기능을 사용하시려면

    스마트 컨트랙트 실행 - KAS Docs 4 위에서 구한 input을 사용하여 여기 나와있는 예제처럼 코드를 실행하거나

    https://refs.klaytnapi.com/en/sdk/js/latest/ 1 이 문서의 KASWallet쪽에 보시면 signAsGlobalFeePayer 함수가 제공됩니다. 해당 함수를 사용하셔도 됩니다.

     

    0

Please sign in to leave a comment.