# Kaikas account change

**URL:** <https://devforum.kaia.io/t/kaikas-account-change/2791>\
**Category:** Kaia Wallet\
**Tags:** klaytn\
**Created:** [12월 13, 2021, 9:58오전 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791 "2021-12-13T09:58:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![klay](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/klay/32/1277_2.png) [@klay](https://devforum.kaia.io/u/klay)\
**Post date:** [12월 13, 2021, 9:58오전 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/1 "2021-12-13T09:58:19Z")

</div>

안녕하세요, 클린이입니다.

아래 kaikas 예제를 보면 accountsChanged 이벤트를 받을 수 있게 되어있는데요.

```auto
//https://docs.kaikas.io/02_api_reference/01_klaytn_provider#klaytn.on-eventname-callback

klaytn.on('accountsChanged', function(accounts) {
// Time to reload your interface with accounts[0]!
})

```

네트워크 변경 등 이벤트에 대한 동작을 전혀 하지 않는 것 같습니다.  
혹시 실행 시점이 중요할까요?

콘솔 창에서 실행 해 보아도 반응이 없고,  
klaytn.selectedAddress 를 봐도 변경된 어드레스가 보이지 않습니다.

(다만, 네트워크가 변경 되었을 때 다음 명령을 실행하면 변경된 주소가 반영되기는 합니다.)  
`this.caver.klay.getBalance(account)`

---

<div class="post-metadata">

**Author:** ![Johnny](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/johnny/32/845_2.png) [@Johnny](https://devforum.kaia.io/u/Johnny)\
**Post date:** [12월 13, 2021, 11:09오전 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/2 "2021-12-13T11:09:59Z")

</div>

안녕하세요 @klay  
Klaytn Forum에 다시 찾아주셔서 감사합니다.

우선 말씀해주신 이벤트를 처리하는 ‘accountsChanged’, ‘networkChanged’ 모두 정상작동하는것을 확인하였습니다.  
사실 코드도 특별할거 없이

```auto
const accounts = await window.klaytn.enable()

window.klaytn.on('accountsChanged', function(accounts) {
  console.log(window.klaytn.selectedAddress)
})

window.klaytn.on('networkChanged', function() {
  console.log(window.klaytn.networkVersion)
})

```

이게 전부이며, 모두 콘솔에 정상적으로 출력되는것으로 확인하였습니다.

![128466C0-BB9A-49B5-B0AC-4D4FF0C28904](https://canada1.discourse-cdn.com/flex035/uploads/klaytn/original/2X/6/630bb523d5460f37371b5db7500f8da07a0b94b6.png)

Kaikas를 연결했는지(코드 첫번째 줄) 다시 한번확인하시고, 그래도 안된다면  
혹시 조금 더 자세한 코드나, 상황을 말씀해주실 수 있으실까요?

감사합니다.

---

<div class="post-metadata">

**Author:** ![klay](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/klay/32/1277_2.png) [@klay](https://devforum.kaia.io/u/klay)\
**Post date:** [12월 13, 2021, 12:37오후 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/3 "2021-12-13T12:37:53Z")

</div>

답변 감사합니다.

예를 들어서 지금 보고 있는 현재 페이지 ([forum.klaytn.com](http://devforum.kaia.io)) 에서 F12를 눌러 const accounts = await window.klaytn.enable() 를 입력하면, 지갑이 열려서 연결 할 수가 있구요. 연결 후 계속해서 콘솔창에서

```auto
window.klaytn.on('accountsChanged', function(accounts) {
  console.log(window.klaytn.selectedAddress)
})

```

를 치고 카이카스 지갑에서 계정 관리 버튼을 통해 어카운트를 바꾸어 보았지만 아무런 반응이 없고,  
window.klaytn.selectedAddress 를 쳐도 undefined가 뜨네요.

혹시 사용하신 window.klaytn 을 위한 별도의 js 라이브러리가 필요할까요?  
그리고 필요하다면 사용하시고 계신 버전의 라이브러리를 어디서 받을 수 있을 지 궁금합니다.

---

<div class="post-metadata">

**Author:** ![Johnny](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/johnny/32/845_2.png) [@Johnny](https://devforum.kaia.io/u/Johnny)\
**Post date:** [12월 13, 2021, 1:44오후 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/4 "2021-12-13T13:44:37Z")

</div>

흠… 제가 알 수 있는 정보가 너무 제한되어 답변하기에 어려움이 있네요 🤔

다만 확실한건 크롬의 콘솔에서 Kaikas Extension을 테스트하기에는 한계가 있습니다.

카이카스를 이용한 웹 서비스 개발을 공부하고 계신다면 아래 세 문서 및 코드를 참고하여 콘솔이 아닌 웹 환경에서 테스트해보시기를 추천 드립니다.

[Caver-js Docs](https://ko.docs.klaytn.com/bapp/sdk/caver-js)  
[Kaikas Docs](https://docs.kaikas.io/)  
[Kaikas Tutorial](https://github.com/klaytn/kaikas-tutorial)

추가 질문이 있으면 언제든 편하게 문의주시면 감사하겠습니다. 😃

---

<div class="post-metadata">

**Author:** ![klay](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/klay/32/1277_2.png) [@klay](https://devforum.kaia.io/u/klay)\
**Post date:** [12월 14, 2021, 2:37오후 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/5 "2021-12-14T14:37:42Z")

</div>

카이카스 예제는 일찍이 해봤었는데,

로컬에서 열면 안되는거는 알고 있었지만 웹으로 옮겨도 이벤트 받는 부분이 계속 잘 안되네요.

지금 별도의 Server Side 없이 동작하게 하려구 해서

깃헙 웹 환경(Only Client Side)에서 시도 해보고 있는데

Tx 보내거나 콜하는거 이런건 대체로 잘 되는데 이벤트 받는게 잘 안돼서 문의를 드렸습니다.

별도 서버사이드 코드 없이 구동하는 웹 환경에서는 어떤 식으로 라이브러리들을 임포트 해야할까요…ㅜ

---

<div class="post-metadata">

**Author:** ![Johnny](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/johnny/32/845_2.png) [@Johnny](https://devforum.kaia.io/u/Johnny)\
**Post date:** [12월 15, 2021, 5:43오전 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/6 "2021-12-15T05:43:05Z")

</div>

이번 질문같은경우 클레이튼과는 큰 연관은 없는것으로 보이네요 😅  
우선 저는 현재 프론트엔드 개발자가 아니라 저도 Klay님의 질문을 보고 테스트해보았습니다.  
저는 [이 글](https://velog.io/@byjihye/react-github-pages)을 참조하여 진행하였습니다.

이번에도 이 글의 질문이었던 **이벤트 받는부분** 은 역시나 잘 됐습니다 🧐  
별다른 내용은 없지만 제가 작성한 코드는 [여기](https://github.com/dev-jiwon/kaikas_extesnion_test)에서 볼 수 있고, 결과는 [여기](https://dev-jiwon.github.io/kaikas_extesnion_test/)에서 보실 수 있습니다.

참고로, Dekey라는 지갑이 설치되어있는경우 Kaikas가 정상적으로 호출되지 않는 문제를 확인하게되었습니다.  
이부분 참고하시면 좋을것 같습니다. 감사합니다.

---

<div class="post-metadata">

**Author:** ![klay](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/klay/32/1277_2.png) [@klay](https://devforum.kaia.io/u/klay)\
**Post date:** [12월 19, 2021, 5:46오전 UTC](https://devforum.kaia.io/t/kaikas-account-change/2791/7 "2021-12-19T05:46:30Z")

</div>

차이점은 아직 잘 모르겠는데 알려주신 방식은 잘 되네요ㅎㅎ  
도움 많이 주셔서 감사합니다. 🙂
