사용자 가이드: 거래 그리고 거래 실패
암호화폐와 web3가 처음이신가요?
web3 신규 사용자를 위해 특별히 설계된 간단한 학습 환경을 확인하려면 MetaMask 학습으로 이동하십시오. 완전히 무료이며 다국어로 제공되며 MetaMask를 사용하여 자신의 위치를 찾는 데 도움이 되는 시뮬레이션과 같은 유용한 도구가 포함되어 있 습니다.
이 자료는 거래 및 거래 실패 원인에 대한 설명과 정보를 볼 수 있는 링크, 그리고 더 나아가 실패한 거래의 일반적 시나리오와 이를 해결하는 방법을 볼 수 있는 링크로 구성되어 있습니다.
블록체인 거래의 구조
우리가 퍼블릭 블록체인 네트워크에서 '거래'에 대해 이야기할 때, 우리는 보통 두 주소 사이의 상호 작용, 즉 토큰, 그러니까 교환 가능하든 그렇지 않든 간에 한 주소에서 다른 주소로 '전송'되는 다른 암호 자산에 대해 이야기하는 것입니다. 또한 '내부 거래'라고 불리는 거래도 있는데, 이는 스마트 계약 간에 발생하는 상호 작용이며, 대부분 본 문서가 다루는 범위를 벗어납니다.
자세한 정보를 원하십니까?
블록체인 네트워크에 대한 자세한 내용과 일반적인 작동 방법에 대해 알고 싶으시다면 여기에서 소개 자료를 확인하십시오. 낯선 단어에 막히면 언제든지 용어집을 이용하실 수 있습니다.
명확성을 제고하기 위해 실제로 아무 것도 전송되지 않습니다. 이더리움과 같은 스마트 계약 활성화 블록체인 네트워크는 여러 가지 구성 요소 또는 기능을 가지고 있습니다. 이 중 하나는 '컴퓨터'라고 부르는 이더리움 가상 머신 또는 EVM 이며 프로그램('스마트 계약')을 실행할 수 있습니다. 그러나 시스템의 근간은 분산 장부입니다. 스프레드시트 한쪽에 모든 이더리움 지갑 주소가 있고, 각 주소에 각각의 암호 자산이 유형별로 줄지어 있는 것을 상상해 보십시오.
예를 들어 보겠습니다. Guillaume이 Dolores에게 자산을 보내고 싶다고 합니다. Guillaume는 계정에 1.36 이더리움이 있으며, Dolores에게 0.5 이더리움을 보낼 계획입니다. 하락장임에도 Dolores에게는 좋은 날인것 같습니다.
Guillaume은 MetaMask 지갑을 열고 Dolores의 주소를 입력하고, 지불하기 알맞은 가스 수치를 설정한 후 '보내기'를 누릅니다.
이 시점에서 거래 주문은 로컬 메모리 풀 또는 로컬 멤풀이라고 하는 로컬 임시 저장 상태로 전환됩니다. ****그러면 네트워크에서 가장 가까운 노드에 의해 거래 주문이 '픽업'됩니다. Guillaume의 가스 설정에 따라 주문의 우선 순위가 정해집니다(Guillaume이 가스 단위당 더 많은 비용을 지불할 의사가 있을수록 그의 주문이 더 빨리 처리됩니다). 그러고 나서 네트워크의 다른 노드로 전파됩니다. 노드들은 Guillaume이 지출할 이더리움을 가지고 있는지 확인하는 작업을 하고, 실제로 '거래'를 수행합니다. 장부가 수정되고, 0.5 이더리움이 Guillaume의 계정에서 인출되어서 Dolores의 계정에 입급됩니다.
**'움직이는 손, 쓰기, 이동': 이더리움은 네트워크를 통해 이동하지 않았습니다. 이더리움은 Guillaume의 컴퓨터에서 Dolores의 MetaMask 메일 주소로로 보낸 이메일처럼 작동하는 것이 아닙니다. Guillaume은 **MetaMask를 통해 개인 키로 인증된 요청을 네트워크에 보내 자신의 계정에서 이더리움을 인출했고 Dolores의 신용을 확인했으며, 네트워크 프로토콜에 프로그래밍되어 있는 확인 프로세스를 거쳐 거래가 완료되었습니다.
그것이 거래의 전부입니다. 한 주소에서 다른 주소로 무언가를 재할당하기 위해 장부에 요청하는 것입니다.
상황이 잘못될 때
여러 가지 이유로 상황이 잘못될 수 있습니다. 종종 그것들은 '자연 발생한 소프트웨어'처럼 보입니다. MetaMask에는 버그가 있고, 사용하려는 네트워크와 관련하여 잘못 구성 된 것이 있습니다. 즉, 연결 오류가 있습니다.
일반적인 문제 상황은 사용자가 거래에 대해 비용을 적게 지불하고자 해서 가스 한도를 매우 낮게 설정하고, 네트워크 상태가 너무 혼잡하여 이러한 '싸구려' 거래 주문을 위한 공간이 매우 오랫동안 블록에 없을 때입니다. 결국 이 거래 주문은 '부실' 주문이 되고 사용자가 이를 취소해야 하게 됩니다.
거래 주문을 보냈지만 아직 완료되지 않은 경우, MetaMask에서 트랜잭션 상태가 '보류 중'으로 표시됩니다.
거래 주문을 보냈으나 실패한 경우, 가능성이 가장 높은 원인은 가스 부족입니다. 즉, 거래 주문 수량에 가스 가격을 곱해서 산출되는 네트워크 통화의 총량이 지갑 잔액보다 더 많을 때, '가스 부족'이 발생합니다.
정보
가스비 계산에 대한 자세한 내용은 여기에서 가스 가이드를 참조하십시오..
이것은 여러 가지 이유로 발생할 수 있지만 한 가지 고려해야 할 사항은 수행하려는 트랜잭션이 무엇인지입니다. 네트워크 트래픽이 최고조에 달할 때 NFT를 발행하는 것은 매우 가스 집약적일 수 있습니다. 새로운 거래나 실험적인 거래를 시도하는 경우 실제 네트워크에서 요금을 지불하기 전에 테스트 네트워크에서 테스트해 볼 가치가 있습니다.
문제 해결
주요 요인 1: 로컬 또는 브로드캐스트에서 네트워크로 이동
거래 문제를 진단할 때, 특히 거래 주문이 보류 중인 경우 해당 주문이 로컬 멤풀에 있지 않은지 또는 네트워크에 도달하여 어떠한 이유 때문에 정체되어 있지 않은지 살펴봐야 합니다. 주문이 로컬 멤풀에만 있는 경우 솔루션은 MetaMask 지갑의 잠금 및 잠금 해제만큼 간단할 수 있습니다. (암호를 알고 비밀 복구 문구를 백업한 후 시도해야 한다는 것을 인지하십시오) 네트워크에서 정체되어 있다면, 해결 방법이 더 복잡해질 수 있습니다.
이러한 문제를 해결하는 방법에 대한 자세한 내용은 아래 링크를 참조하십시오.
주요 요인 2번: 논스(Nonce, 임시값)
이 단어는 몇 가지 다른 것을 의미할 수 있습니다. 여기서는 '단 한 번만 사용된 번호(number only used once)'이라는 문구의 축약형으로 대략 '거래 번호'를 의미하며 발신 주소에서 생성된 첫 거래에서 시작됩니다. 예를 들어, 동일한 지갑 주소를 가진 MetaMask의 다른 인스턴스에서 두 개의 서로 다른 거래를 동시에 실행하는 경우 심각한 문제가 발생할 수 있습니다. **귀하의 주소에서 실행한 거래는 논스에 따라 오름차순으로 순서가 매겨져야 합니다. ** 논스가 거래 중단을 유발할 수 있는 것과 마찬가지로, 논스는 거래가 중단되지 않도록 하는 열쇠가 될 수 있습니다.
이 기술에 대한 자세한 내용은 여기를 참조하십시오.