MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead.
본문 바로가기
Block Chain

MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead.

by 쏠수있어ㅤ 2022. 3. 31.
반응형

 

 

MetaMask 지갑과 연결할 때 

if (window.ethereum) {
          try{
              await window.ethereum.enable();

요렇게 작성했더니 ethereum.enable()은 곧 사라지는 기능이니 request방식을 사용하라고 나온다. 

 

ERROR : MetaMask: 'ethereum.enable()' is deprecated and may be removed in the future. Please use the 'eth_requestAccounts' RPC method instead. 

 

따라서 아래처럼 바꿔주면 된다. 

if (window.ethereum) {
  try {
    const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' });
    setAccounts(accounts);
  } catch (error) {
    if (error.code === 4001) {
      // User rejected request
    }

    setError(error);
  }
}

 

참고로 send()또한 곧 사라진다고 하니

        const accounts = await window.ethereum.send(
            "eth_requestAccounts"
        );

요것도 request() 매서드로 바꾸어 주면 된다. 

 

 

반응형

댓글