본문 바로가기

etc/블록체인

(2)
Web3.js , Metamask 오류 [No privateKey given to the TransactionSigner] vue.js로 프런트 앤드를 구성하고 그 안에서 web3.js를 사용하여 Metamask라는 이더리움 클라이언트를 이용해 블록체인에 배포된 스마트 컨트랙트와 연동하는 시스템을 개발 중이다. (ropsten 테스트 넷 사용) ​ vue.js 에서 npm start 로 동작시켜 localhost:8080에서의 동작은 잘 되었다. npm run build 를 통해 vue의 dist 파일을 만든 후, express 폴더에서 static을 설정한 뒤 vue 페이지를 올려 express로 서버를 동작시켰다. ​ 외부에서 접속하여 다른 유저들도 사용하게 만드는 과정에서 Smart contract의 method 를 호출할 시 No privateKey given to the TransactionSigner 라는 에러가 ..
Remix 에러 : VM Exception while processing transaction: revert Error: VM Exception while processing transaction: revert ​ 보통의 경우 가스에 문제가 대부분이다. 하지만 Remix상에서 Smart contract의 함수를 잘 못 사용할 때도 발생한다. ​ 이번 프로젝트 개발에서 꽤 오랜 시간을 이 오류를 찾는데 보냈다. ​ 우리 팀의 경우 revert의 이유는 ERC 20 의 transfer 뒤에 emit event 명시를 안해줘서 이다. 혹시 이더를 보내는 함수를 개발하고 있는 도중 구조 상 문제점이 없는데 위와 같은 오류가 뜬다면 (가스 문제, 파라미터 문제도 아니라면) event를 추가하는 시도를 해보는 것을 추천한다. ​ transfer뒤에 Transfer event가 필수이지만 상속받는 ERC20에서 event를..