카이카스나 메타마스크 등 프론트엔드에서 메시지 서명은 어떻게 하나요?

안녕하세요
NFT 관련하여 공부중입니다.

현재 caver-java / kas api를 이용하여
contract 생성, nft 민팅 처리를 백엔드에서만 구축은해보았습니다.

이제 krafterspace 와 같은 민팅사이트를 만들어 볼까합니다.
배포된 contract에 사용자가 직접 민팅할수있게 처리하고싶은데

찾아봐도 감이 잘 오지않네요
조언좀 부탁드리겠습니다.

프론트엔드에서 메시지서명 , 수수료 지불 등을 처리하는 방법이 어떻게될까요?

이 부분은 각 지갑에서 제공하는 API를 이용해 지갑연결로직과 컨트랙트 실행을 위한 서명을 구현하셔야합니다.

caver 와 KAS api는 사용자측 서명보다는 backend 서비스 차원으로 사용하시는 쪽이고요.

다만, Kaikas 지갑은 caver-js를 이용해 노드 연결을 위한 provider 제공이 되기때문에, 이 부분은 https://docs.kaikas.io 문서를 참고하시어 진행하시면 될것같습니다.

기타 자세한 문의는 kaikas 또는 klip 지갑등, 지갑서비스하는 포럼이나 고객센터로 문의하시는게 원하는답변을 얻기 좋으실것같습니다.

답변되셨길바랍니다. 감사합니다

1 Like

답변감사합니다.
다른질문하나 드려도될까요?

krafterspace와 같은 민팅사이트를 제작하고싶습니다.
사용자가 지갑연결 / 컨트랙트 연결하여 수수료 부담하고 민팅 / 전송등을 하고싶습니다.
이럴때 ㄴ서버단에서 kas를 이용하여 mint / transfer 등의 api 만들어 사용할수는 없는건가요?

klaytn IDE를 통해 스마트컨트랙을 배포하고
관련 함수 mint 등을 구현하고
프론트엔드단에서는 abi통해 민팅 / 전송등을 진행하면되는걸까요?

개념이 명확히 자리잡지않아 질문이 두서가없네요 죄송합니다.
대략적인 틀을 조언해주시면 감사하겠습니다.

사용자가 승인하는 방식은 지갑에서 제공하는 SDK를 이용하셔야되요.
상기 말씀드린것처럼, KAS는 Backend에서 블럭체인에 기록하거나 데이터를 받아오실때만 사용하시면됩니다.

예를들자면…
홈페이지에서 블럭체인의 데이터를 실시간으로 보여줘야 하는 상황이 있습니다.
이 경우, 지갑 SDK만을 이용하게 되면, 접속자의 지갑이 연결되야 데이터를 받아올 수 있습니다.
따라서 이 경우, 지갑 연결 없이도 프론트에 데이터를 출력해주기 위해 (또는 DB에서 데이터를 기록하기위해) KAS를 통한 Endpoint node의 접속이 필요합니다.

블럭체인의 데이터 기록의 경우, 내부적으로 관리하는 컨트랙트가 있다면, 그건 KAS를 통해 개발자 지갑으로 진행하시면됩니다.

다만 서명의 경우 보안문제때문에, 모든 트랜잭션은 지갑 SDK를 통해 발생해야 합니다.
이 방식은 지갑 provider에 따라 모두 다르기때문에, 지원하실 지갑에 따라 각각 다른방식으로 적용해주셔야합니다.

질문에 답변되셨길 바랍니다.

감사합니다.

1 Like