우리는 일반적으로 코인을 교환할 때 중앙화된 거래소를 통해 거래합니다.법정통화(원, 달러 등)를 코인과 교환하려면 Bithumb이나 Upbit같은 거래소에서 구입하거나, 코인 보유자를 직접 만나는 방법밖에는 없죠.하지만 탈중앙화된 코인끼리 거래할 때도 거래소를 통해 할 수 밖에 없을까요?탈중앙화 되어있는 코인끼리 교환하는데 중앙화 된 서비스를 이용한다는 것은 블록체인에서 다루는 가장 큰 가치가 훼손되는 일입니다. 그렇다면 어떤 방법으로 중개자 없이 코인끼리 교환할 수 있을까요?전통적인 방법을 생각해보겠습니다.A 코인 사용자 Alice와 B 코인 사용자 Bob이 각자의 코인을 교환하는 과정을 생각해보겠습니다. 1 ) Alice가 10A를 Bob의 A 코인 주소로 전송2 ) Bob이 A 코인 수신을 확인하고..
컨트랙트를 배포하고 테스트 하는 과정에서 Invalid opcode 에러를 볼 수 있다.결론부터 적자면 이 문제를 해결하는 방법은 invalid opcode를 유발하는 것으로 추정되는 부분부터 코드를 하나 씩 지워나가는 것이다.호출하는 함수 위주로 지워나가면 비교적 쉬울 것이다.덕분에 겨우 논리오류를 유발하는 코드를 찾아냈다.개발자마다 겪는 논리 오류는 모두 다를 것이므로 아래 코드를 굳이 보지 않아도 된다. 사족으로, 테스트넷에서 함수를 실행했다면 Etherscan에서 직접 확인할 수도 있다. Opcode 0xfe는 EVM에서 지정되어있지 않은 코드이다.0xfe든 Invalid opcode든 구글 검색 시 다양한 사례를 찾을 수 있지만 적당한 솔루션을 찾지 못해 위 방법으로 해결했다.