Privatekey add 하는 부분을 어떻게 하는지 모르겠습니다

포럼에서 아래 글을 보고

비슷하게 따라하고 있는데 밤을 꼴닥새서 해도 막혀서 질문드립니다.

토큰을 민팅하는 사이트를 제작하고 있습니다.

여러 종류의 글을 봐도

트랜잭션을 만들기 전에

caver.klay.accounts.wallet.add 이 함수에 privatekey를 넣고 시작하던데…

유저가 지갑을 서명하면,

privatekey를 가져올 수 있나요?

제 생각에는 privatekey를 가져오면 안 될 것 같은데…

제가 본 코드들은 대부분 privatekey 를입력하고 있었습니다.

대부분 privatekey를 하드코딩하던데…

아무리봐도 잘 이해가 가지 않습니다.

도대체 어떤식으로 privatekey를 가져오는지 모르겠습니다.

유저의 privatekey가 아닌 발행자(owner)의 privatekey를 넣는건가 싶어서

해봤는데도 안 되네요

도대체 어떤 식으로 코드를 작성하면 될까요?

await caver.klay.accounts.wallet.add(serverPrivateKey);

			const txHash = await caver.klay.sendTransaction({
				type: 'SMART_CONTRACT_EXECUTION',
				from: serverAddress,
				to: process.env.WTTOKENCA,
				data: wtContract.methods
				.createContent()
				.encodeABI(),
				gas: '300000',
			})
1개의 좋아요

트랜잭션을 유저지갑과 연동하려면 provider 를 Kaikas 혹은 다른 지갑을통해서 구현하셔야합니다. 이부분은 Kaikas 지갑의 경우 해당 독스를 참고해주세요.

Private key를 이용하시는 방법은 backend 사용목적이라 생각하시면 되고, 사용자지갑의 서명이 필요한 경우에는 각 지갑에서 제공하는 sdk를 이용해 서명가능하며,

현재로서는 Caver를 지원하는지갑은 Kaikas 밖에없는것으로 알고있습니다. Klip은 별도의 방식으로 구현하셔야하고요.

참고로 지갑에서 private key를 추출하시는 방법은 없습니다.

질문에 답변되었길 바랍니다.
감사합니다.

1개의 좋아요

감사합니다.
프라이빗 키를 추출하는 방법은 아무리 생각해도 아닌 것 같아서 계속 검색하였더니
caver를 잘못 사용하고 있었습니다.
혹시, 괜찮으시면 다른 질문을 해도 될까요?

네 물론이죠! 다른토픽의 질문이라면 새로 개시글 작성해 주시면 감사드리겠습니다.