Klaytn keystore 로그인 오류?

클레이튼 keystore로 로그인 하면 자꾸 invalid하다고 합니다.
password가 처음 계좌를 만들 때 패스워드 아닌가요?

klaytn wallet에서 똑같은 password로 접속을 하니까 거기선 또 접속이 됩니다.
password 잘못친거 아닙니다.

privatekey로 접속하니까 또 됩니다.
바오밥 테스트넷입니다.

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

Klaytn IDE에서 keystore file을 import할 때 에러가 난다는 말씀이신거죠?

현재 Klaytn IDE에서는 keystore v4를 지원하지 않아 해당 에러가 발생하는 것 같습니다.

Klaytn wallet에서는 최근 keystore v4를 지원하도록 업데이트 되었습니다만 Klaytn IDE에서 지원되지 않아 문제가 되는 것 같습니다. 개발팀에게 문의하여 수정될 수 있도록 하겠습니다.

감사합니다.

1 Like

@11121
안녕하세요, 이제 Klaytn IDE에서 keystore v4가 지원됩니다. 확인 부탁드리겠습니다.

감사합니다.

와! 잘됩니다. 감사합니다.

하나만 더 여쭤보겠습니다.
keystore 방식으로 로그인하는 방식으로 코드 작성 중인데
버전이 바뀌면서 코드 작성 방법이 달라졌나요?
cav.klay.accouts.decrypt 나
cav.klay.accounts.privateKeyToAccount
같은거요!

만약 아무 변화 없다면 아래 질문은 굳이 안 읽어 보셔도 됩니다!
달라졌다면 다른 방법 찾아보겠습니다.

Bapp 개발 중 keystore 방식으로 로그인하는 코드를 작성 중인데

  handleLogin: async function () {
if (this.auth.accessType === 'keystore'){
  try{
    const privateKey = cav.klay.accounts.decrypt(this.auth.keystore, this.auth.password).privateKey;
    this.integrateWallet(privateKey);
  } catch(e){
    $('#message').text('비밀번호가 일치하지 않습니다');

  }
}

},

integrateWallet: function (privateKey) {

    const walletInstance = cav.klay.accounts.privateKeyToAccount(privateKey);

    cav.klay.accounts.wallet.add(walletInstance); 

    sessionStorage.setItem('walletInstance', JSON.stringify(walletInstance)); 

    this.changeUI(walletInstance); 

  },

버전이 바뀌면 이런 식으로는 더 이상 할 수 없나요?

되야 할것 같은데요?
v4 가 기존 eth key 와 필드 이름이 조금 차이가 나지만, private key scheme 은 같아요.
그냥 private key 기반으로 사용하면 v4 든 차이가 없을것 같네요.

안녕하세요, decrypt()함수는 v3, v4모두를 지원하도록 구현되어 있습니다. json object의 version field를 통해 구분합니다.

privateKeyToAccount()는 keystore version과 관계가 없으니, 잘 동작할 것 같습니다.

답변이 되셨을런지요? 추가 질문이 있으시다면 댓글 부탁드립니다.

감사합니다.