BlockChain with Solidity (8) 썸네일형 리스트형 [ issues ] truffle compile 다음 migrate 하려니 에러 발생ㅠ 므아악..... 에러가 발생했다. 검색해보니 stackovweflow에서 친절한 답변덕분에 해결했다ㅠㅠ >> 답변 내용 최근 버전 0.8.20 부터 새로운 옵코드가 도입되어서 일지도 모른다고 함. 기본적으로 솔리디티 컴파일러 버전은 배포하려는 네트워크보다 앞선 버전이라고 한다. 즉 solc opcode를 포함하는 바이트 코드를 출력하지만 네트워크는 아직 그렇지 않다는 뜻 그래서 3가지 해결방법을 트라이 해볼 수 있는데 1. 대상 네트워크가 새 opcode를 지원할때까지 기다리거나(ㅋㅋㅋㅋㅋ) 다른 네트워크 사용하기 2. solc 트러플 구성에서 파일버전을 변경하기 - 오류의 원인이 실제로 opcode인 경우 버전 0.8.19가 이를 출력하지 않으므로 문제가 해결됨 그래서 이걸보고 truffle-confi.. [solidity] 컴파일러 버전을 명시하는 이유, 가시성, mapping 블록체인에 대한 개념은 얼추 익혔는데 기본적인 문법과 작동방식을 전혀 몰라서 그동안 답답했는데 짤막하게씩 이나마 좀 익혀두려고 한다. 일단 solidity 자체가 계약(contract)에 대한 언어이기 때문에 기본적으로 코드의 모든 내용은 contract안에서 이뤄져야한다. 그리고 solidity 와 같은 스마트 계약 언어는 바로 이더리움 가상머신에서 실행 할 수 가 없다. 그래서 옵코드(opcode) 라는 저급머신 명령어로 컴파일 한다음 EVM이 처리할 수 있도록 해야한다. EVM은 코드의 실행과 이더리움 가상머신의 실행사이에 추상화 수준을 생성한다고 하는데 좀 더 자세한 작동 방식은 더 알아봐야 할 것 같다. 그리고 계속 업데이트 중인데다가 버전마다 문법이나 뉘앙스가 달라져서 원래 사용하던 문법이 변.. [NFT_market] 마켓 만들기 - 1. 환경 설정하기 일단 메타마스크에 계정이 있고, nodejs와 npm을 설치했다는 가정하에 추가적으로 필요한 환경 설정에 대해서 기록해둔다. react로 프론트를 만들고 solidity로 컨트랙트를 작성할 예정이다. 그리고 프론트 코드와 따로 분리를 하지는 않았다. 컨트랙트를 작성하고 수정할때마다 배포를 해야할텐데 물론 remix를 써도 되지만... vscode에서 마켓을 만들예정이기 때문에 테스트eth가 담긴 지갑과 테스트 넷을 연결하도록 하자 1. Ganache 설치하기 https://trufflesuite.com/ganache/ Ganache - Truffle Suite Features VISUAL MNEMONIC & ACCOUNT INFO Quickly see the current status of all acc.. [ issues ] truffle compile/ migrate : Connection error sol파일을 작성한 후 테스트넷이지만 컨트랙트를 EVM이 처리할 수 있도록 컴파일 한 다음 이더리움 가상머신에서 실행해야한다. 그래서 truffle을 사용하는데 truffle compile 후 migrate를 하는데 오류가 떴다. 에러 메세지에도 나와있지만 연결을 할 수 없다고 뜬다. 파일엔 문제없었는데 뭐지? 싶었는데 내 컴퓨터에서 Ganache 테스트넷을 연결하도록 설정해놓았는데 ganache를 안켜놨다....ㅎㅎㅎ 킨다음 다시 마이그레이트 하자 잘 나온다! 블록체인에 컨트랙트를 올려야 의미가 있는 것이니 당연한 오류였다..ㅎㅎ < BlockChain > 블록체인에 관해 알아두어야 할 지식 - 3(PIG Finance) 토큰과 코인의 차이? / 블랙홀 지갑이란? / 인상적이었던 토크노믹스 설계 이번엔 특정 토큰을 중점적으로 정리해보려고 한다. 블랙홀 지갑에 대해 조사하다보니 블랙홀 지갑을 적극적으로 모델에 적용한 토큰이라고 생각되어 토크노믹스에도 좋은 예시인것 같아 가져왔다. 블랙홀 지갑이란? 개념적으로 아무도 소유하지 않은 주소가 '0x000000....' 인 지갑이다. 처음에는 '만약 누군가 블랙홀 지갑에 담긴 암호화폐를 사용할 수 있다면 어떡하지?' 라고 생각했는데 블록체인에 대해서 좀더 찾아보고 생각해보니 지갑을 생성할때 소유주가 있어야 하는데 이미 생성되어있는 거라면 그 누구의 명의가 아닌 지갑으로 생성되었으리라고 추측할 수 있었다. 그러니까 말하자면 공공쓰레기통 같은 개념인 것이다. PIG Finance 특징 ERC-20 과 같은 서브체인으로 이루어진 화폐이다. 다만 ERC-20는 .. < BlockChain > 블록체인에 관해 알아두어야 할 지식 - 2 NFT 민팅이란? - Mint + ing 의 합성어로 주조하다, 돈을 만들어내다 라는 화폐 제조를 일컫는 단어이다. 즉 가상화폐로 nft를 만들어낸다는 뜻이다. - 대체가 가능한 디지털 화폐(암호화폐) => 대체 불가능한 코인, 자산(NFT)로 만들어 내는 것이다. - 판매자와 구매자 입장별로 뜻이 조금 다르다 판매자 : NFT 마켓플레이스에 NFT를 발행하는 과정을 민팅이라고 한다 구매자 : 말 그래도 NFT를 구매한다라는 뜻이다 +) 민팅하는 방법 : 1. 코인지갑(암호화폐 지갑) 생성 2 . 지갑에 코인 충전 3. 원하는 작품 구매 ERC 20 VS ERC 721 VS ERC 1122 VS ERC1155 ** 토큰의 종류를 구분하는 기준중 하나로 Fungible 가 있다. ( Fungible : 뭔.. < BlockChain > 블록체인에 관해 알아두어야 할 지식 - 1 폰지사기 - 폰지사기란 신규 투자자를 계속해서 모집하고, 그 자금으로 기존 투자자들에게 수익금을 지급하는 형태를 '폰지사기'라고 한다. 불법 다단계와 유사한 형태이며, 투자자들에게 큰 수익 보장을 약속하지만 제대로 된 사업모델은 없는 경우가 많고 투자자들 사이에서 투자금을 돌려막다가 결국 잠적한다. 더보기 예시1) ICO(가상화폐 공개) 상장 투자 관련 보상금 사기 +) ICO == 가상화폐 공개이다. 즉 디지털 토큰을 판매해 자금을 조달하기 위해 암호화폐 개발사가 주최하는 행사이다. ICO 투자의 경우 프로젝트 초기에 투자하게 되며, 투자이후 토큰을 받기 때문에 해당 프로젝트의 잠재력이 크면 클수록 높은 수익을 얻을 수 있습니다. 본인들(A)의 코인이 ICO에 상장하게 되었다며, 투자자(B)에게 수익금.. <about BlockChain> Smart Contract Life-Cycle 스마트 컨트랙트의 생명주기/ 채굴과정에서 smartContract의 상호작용 순서 스마스 컨트랙트의 생명주기 start 단계 : 스마트 컨트랙트를 solidity 코드로 작성 => EVM 바이트 코드로 컴파일 => 트랜잭션 전송 트랜잭션이 채굴되어서 블록으로 만들어지는 순간 스마트 컨트랙트와 상호작용 할 수 있다 스마트 컨트랙트는 자체 주소를 얻고 해당 주소는 결정형이다.(무작위 주소가 아니라는 뜻) 트랜잭션을 스마트 컨트랙트 데이터가 포함된 주소로 보낼 수 있게 된다. 바이트 코드로 컴파일 하면 데이터 필드에 다음과 같이 입력될 것이다. Deploy : sendTransaction({from :..., to : 비어있음, data : '0x1231244124...'}) 이런 형태! 그리고 to : 부분은 비어있을 것이다. 이 구성으로 네트워크로 전송되면 Interact : sendT.. 이전 1 다음